add tests directory
This commit is contained in:
		
							parent
							
								
									f19ab0e8c0
								
							
						
					
					
						commit
						b0b07c9425
					
				
							
								
								
									
										
											BIN
										
									
								
								docs/build/doctrees/api.doctree
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/build/doctrees/api.doctree
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/build/doctrees/environment.pickle
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/build/doctrees/environment.pickle
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/build/doctrees/index.doctree
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/build/doctrees/index.doctree
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										26
									
								
								docs/build/html/_modules/pynodes.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								docs/build/html/_modules/pynodes.html
									
									
									
									
										vendored
									
									
								
							| @ -115,8 +115,8 @@ | ||||
| <div class="viewcode-block" id="Node.add_child"> | ||||
| <a class="viewcode-back" href="../api.html#pynodes.Node.add_child">[docs]</a> | ||||
|     <span class="k">def</span> <span class="nf">add_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">child</span><span class="p">:</span> <span class="n">Node</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span> | ||||
| <span class="w">        </span><span class="sd">""" </span> | ||||
| <span class="sd">        Add new child node to current instance </span> | ||||
| <span class="w">        </span><span class="sd">"""</span> | ||||
| <span class="sd">        Add new child node to current instance</span> | ||||
| 
 | ||||
| <span class="sd">        :param child: Node object</span> | ||||
| <span class="sd">        """</span> | ||||
| @ -133,13 +133,17 @@ | ||||
| 
 | ||||
|     <span class="nd">@property</span> | ||||
|     <span class="k">def</span> <span class="nf">siblings</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">]:</span> | ||||
| <span class="w">        </span><span class="sd">""" returns all the siblings of the Node object """</span> | ||||
| <span class="w">        </span><span class="sd">"""</span> | ||||
| <span class="sd">        Returns all the siblings of the Node object</span> | ||||
| <span class="sd">        """</span> | ||||
|         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_siblings</span><span class="p">():</span> | ||||
|             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">children</span> | ||||
| 
 | ||||
|     <span class="nd">@property</span> | ||||
|     <span class="k">def</span> <span class="nf">parents</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">]:</span> | ||||
| <span class="w">        </span><span class="sd">""" returns all the ancestors of the Node object """</span> | ||||
| <span class="w">        </span><span class="sd">"""</span> | ||||
| <span class="sd">        Returns all the ancestors of the Node object</span> | ||||
| <span class="sd">        """</span> | ||||
|         <span class="n">parents</span> <span class="o">=</span> <span class="p">[]</span> | ||||
|         <span class="n">p</span> <span class="o">=</span> <span class="bp">self</span> | ||||
|         <span class="k">while</span> <span class="n">p</span><span class="o">.</span><span class="n">has_parent</span><span class="p">():</span> | ||||
| @ -149,7 +153,9 @@ | ||||
| 
 | ||||
|     <span class="nd">@property</span> | ||||
|     <span class="k">def</span> <span class="nf">level</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span> | ||||
| <span class="w">        </span><span class="sd">""" returns the level of the Node object """</span> | ||||
| <span class="w">        </span><span class="sd">"""</span> | ||||
| <span class="sd">        Returns the level of the Node object</span> | ||||
| <span class="sd">        """</span> | ||||
|         <span class="n">level</span> <span class="o">=</span> <span class="mi">0</span> | ||||
|         <span class="n">p</span> <span class="o">=</span> <span class="bp">self</span> | ||||
|         <span class="k">while</span> <span class="n">p</span><span class="o">.</span><span class="n">has_parent</span><span class="p">():</span> | ||||
| @ -160,7 +166,7 @@ | ||||
|     <span class="nd">@property</span> | ||||
|     <span class="k">def</span> <span class="nf">path</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span> | ||||
| <span class="w">        </span><span class="sd">"""</span> | ||||
| <span class="sd">        returns a representation of the ancestor lineage of self</span> | ||||
| <span class="sd">        Returns a representation of the ancestor lineage of self</span> | ||||
| <span class="sd">        """</span> | ||||
|         <span class="n">path</span> <span class="o">=</span> <span class="s1">''</span> | ||||
|         <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="nb">reversed</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parents</span><span class="p">):</span> | ||||
| @ -185,7 +191,9 @@ | ||||
| <div class="viewcode-block" id="Node.is_child"> | ||||
| <a class="viewcode-back" href="../api.html#pynodes.Node.is_child">[docs]</a> | ||||
|     <span class="k">def</span> <span class="nf">is_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span> | ||||
| <span class="w">        </span><span class="sd">""" check if Node object is a child of the other Node object """</span> | ||||
| <span class="w">        </span><span class="sd">"""</span> | ||||
| <span class="sd">        Check if Node object is a child of the other Node object</span> | ||||
| <span class="sd">        """</span> | ||||
|         <span class="k">if</span> <span class="n">other</span> <span class="ow">in</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">]:</span> | ||||
|             <span class="k">return</span> <span class="kc">True</span> | ||||
|         <span class="k">else</span><span class="p">:</span> | ||||
| @ -195,7 +203,9 @@ | ||||
| <div class="viewcode-block" id="Node.pretty_print"> | ||||
| <a class="viewcode-back" href="../api.html#pynodes.Node.pretty_print">[docs]</a> | ||||
|     <span class="k">def</span> <span class="nf">pretty_print</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">option</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s1">'default'</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span> | ||||
| <span class="w">        </span><span class="sd">""" print children tree from current instance """</span> | ||||
| <span class="w">        </span><span class="sd">"""</span> | ||||
| <span class="sd">        Print children tree from current instance</span> | ||||
| <span class="sd">        """</span> | ||||
|         <span class="n">dashes</span> <span class="o">=</span> <span class="s1">'   '</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="o">+</span><span class="s1">'|'</span><span class="o">+</span><span class="s1">'--'</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="o">+</span><span class="s1">' '</span> | ||||
|         <span class="k">if</span> <span class="n">option</span> <span class="o">==</span> <span class="s1">'id'</span><span class="p">:</span> | ||||
|             <span class="n">dashes</span> <span class="o">+=</span> <span class="sa">f</span><span class="s1">'[</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s1">] '</span> | ||||
|  | ||||
							
								
								
									
										10
									
								
								docs/build/html/_sources/index.rst.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								docs/build/html/_sources/index.rst.txt
									
									
									
									
										vendored
									
									
								
							| @ -48,13 +48,9 @@ Basic Usage: | ||||
| 
 | ||||
|    alice.pretty_print() | ||||
| 
 | ||||
| .. code-block:: | ||||
|    :caption: Pretty print of the tree | ||||
| 
 | ||||
|        Alice | ||||
|          -- Bob | ||||
|          -- Eve | ||||
| 
 | ||||
|    Alice | ||||
|      -- Bob | ||||
|      -- Eve | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										12
									
								
								docs/build/html/api.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								docs/build/html/api.html
									
									
									
									
										vendored
									
									
								
							| @ -159,7 +159,7 @@ found</p> | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="pynodes.Node.is_child"> | ||||
| <span class="sig-name descname"><span class="pre">is_child</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.is_child"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.is_child" title="Link to this definition">¶</a></dt> | ||||
| <dd><p>check if Node object is a child of the other Node object</p> | ||||
| <dd><p>Check if Node object is a child of the other Node object</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| @ -176,25 +176,25 @@ found</p> | ||||
| <dl class="py property"> | ||||
| <dt class="sig sig-object py" id="pynodes.Node.level"> | ||||
| <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">level</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">int</span></em><a class="headerlink" href="#pynodes.Node.level" title="Link to this definition">¶</a></dt> | ||||
| <dd><p>returns the level of the Node object</p> | ||||
| <dd><p>Returns the level of the Node object</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py property"> | ||||
| <dt class="sig sig-object py" id="pynodes.Node.parents"> | ||||
| <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">parents</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#pynodes.Node.parents" title="Link to this definition">¶</a></dt> | ||||
| <dd><p>returns all the ancestors of the Node object</p> | ||||
| <dd><p>Returns all the ancestors of the Node object</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py property"> | ||||
| <dt class="sig sig-object py" id="pynodes.Node.path"> | ||||
| <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">str</span></em><a class="headerlink" href="#pynodes.Node.path" title="Link to this definition">¶</a></dt> | ||||
| <dd><p>returns a representation of the ancestor lineage of self</p> | ||||
| <dd><p>Returns a representation of the ancestor lineage of self</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| <dt class="sig sig-object py" id="pynodes.Node.pretty_print"> | ||||
| <span class="sig-name descname"><span class="pre">pretty_print</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">option</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'default'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.pretty_print"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.pretty_print" title="Link to this definition">¶</a></dt> | ||||
| <dd><p>print children tree from current instance</p> | ||||
| <dd><p>Print children tree from current instance</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| <dl class="py method"> | ||||
| @ -206,7 +206,7 @@ found</p> | ||||
| <dl class="py property"> | ||||
| <dt class="sig sig-object py" id="pynodes.Node.siblings"> | ||||
| <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">siblings</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#pynodes.Node.siblings" title="Link to this definition">¶</a></dt> | ||||
| <dd><p>returns all the siblings of the Node object</p> | ||||
| <dd><p>Returns all the siblings of the Node object</p> | ||||
| </dd></dl> | ||||
| 
 | ||||
| </dd></dl> | ||||
|  | ||||
							
								
								
									
										12
									
								
								docs/build/html/index.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								docs/build/html/index.html
									
									
									
									
										vendored
									
									
								
							| @ -111,16 +111,12 @@ | ||||
| <span class="n">alice</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">eve</span><span class="p">)</span> | ||||
| 
 | ||||
| <span class="n">alice</span><span class="o">.</span><span class="n">pretty_print</span><span class="p">()</span> | ||||
| 
 | ||||
| <span class="n">Alice</span> | ||||
|   <span class="o">--</span> <span class="n">Bob</span> | ||||
|   <span class="o">--</span> <span class="n">Eve</span> | ||||
| </pre></div> | ||||
| </div> | ||||
| <div class="literal-block-wrapper docutils container" id="id1"> | ||||
| <div class="code-block-caption"><span class="caption-text">Pretty print of the tree</span><a class="headerlink" href="#id1" title="Link to this code">¶</a></div> | ||||
| <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>    <span class="n">Alice</span> | ||||
|       <span class="o">--</span> <span class="n">Bob</span> | ||||
|       <span class="o">--</span> <span class="n">Eve</span> | ||||
| </pre></div> | ||||
| </div> | ||||
| </div> | ||||
| </section> | ||||
| </section> | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										2
									
								
								docs/build/html/searchindex.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								docs/build/html/searchindex.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -48,13 +48,9 @@ Basic Usage: | ||||
| 
 | ||||
|    alice.pretty_print() | ||||
| 
 | ||||
| .. code-block:: | ||||
|    :caption: Pretty print of the tree | ||||
| 
 | ||||
|        Alice | ||||
|          -- Bob | ||||
|          -- Eve | ||||
| 
 | ||||
|    Alice | ||||
|      -- Bob | ||||
|      -- Eve | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										24
									
								
								pynodes.py
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								pynodes.py
									
									
									
									
									
								
							| @ -232,26 +232,4 @@ class Node: | ||||
|         return self.name | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
| 
 | ||||
| #    while True: | ||||
| #        master_node = Node.create_random_nodes(depth=3, type_='cmd') | ||||
| #        node_list = [master_node, master_node.children[0], | ||||
| #                     master_node.children[0].children[0]] | ||||
| #        random.shuffle(node_list) | ||||
| #        print([n.name for n in node_list]) | ||||
| #        print(Node.check_lineage(node_list)) | ||||
| #        input('pause') | ||||
|     class Person(Node): | ||||
|         pass | ||||
| 
 | ||||
|     bob = Person('Bob') | ||||
|     eve = Person('Eve') | ||||
|     alice = Person('Alice') | ||||
| 
 | ||||
|     # Alice is parent of bob and eve | ||||
|     alice.add_child(bob) | ||||
|     alice.add_child(eve) | ||||
| 
 | ||||
|     alice.pretty_print(option = 'id') | ||||
| 
 | ||||
|     print(alice.id) | ||||
|     pass | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										21
									
								
								tests/test_nodes.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								tests/test_nodes.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| from pathlib import Path | ||||
| import sys | ||||
| # to include the main lib of the tests | ||||
| sys.path.append(str(Path(__file__).parent.parent)) | ||||
| 
 | ||||
| from pynodes import Node | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     class Person(Node): | ||||
|         pass | ||||
| 
 | ||||
|     bob = Person('Bob') | ||||
|     eve = Person('Eve') | ||||
|     alice = Person('Alice') | ||||
| 
 | ||||
|     # Alice is parent of bob and eve | ||||
|     alice.add_child(bob) | ||||
|     alice.add_child(eve) | ||||
| 
 | ||||
|     alice.pretty_print(option = 'id') | ||||
| 
 | ||||
| @ -1,20 +1,9 @@ | ||||
| import inspect | ||||
| from pathlib import Path | ||||
| import sys | ||||
| # to include the main lib of the tests | ||||
| sys.path.append(str(Path(__file__).parent.parent)) | ||||
| 
 | ||||
| def f(*args, **kwargs): | ||||
|     print(kwargs) | ||||
| 
 | ||||
| class SquareNumber(int): | ||||
|     def __new__(cls): | ||||
|         return super().__new__(cls) | ||||
| 
 | ||||
| 
 | ||||
| class Test: | ||||
|     def __new__(cls, *args): | ||||
|         print(args[0]) | ||||
|         return super().__new__(cls) | ||||
| 
 | ||||
|     def __init__(self, first_arg: str = 'first', second_arg: str = 'second' ): | ||||
|         self.name = first_arg | ||||
| import pynodes | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     t = Test(first_arg = 'hello', second_arg = 'world') | ||||
|     pass | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user