11import unittest
22
3+ from collections import defaultdict
34from treelib import Node
45
56
@@ -11,9 +12,13 @@ def setUp(self):
1112 def test_initialization (self ):
1213 self .assertEqual (self .node1 .tag , "Test One" )
1314 self .assertEqual (self .node1 .identifier , "identifier 1" )
14- self . assertEqual ( self . node1 . expanded , True )
15+ # retro-compatibility
1516 self .assertEqual (self .node1 .bpointer , None )
1617 self .assertEqual (self .node1 .fpointer , [])
18+
19+ self .assertEqual (self .node1 .expanded , True )
20+ self .assertEqual (self .node1 ._predecessor , {})
21+ self .assertEqual (self .node1 ._successors , defaultdict (list ))
1722 self .assertEqual (self .node1 .data , None )
1823
1924 def test_set_tag (self ):
@@ -32,21 +37,45 @@ def test_set_identifier(self):
3237 self .node1 .identifier = "identifier 1"
3338
3439 def test_set_fpointer (self ):
40+ # retro-compatibility
3541 self .node1 .update_fpointer ("identifier 2" )
3642 self .assertEqual (self .node1 .fpointer , ['identifier 2' ])
3743 self .node1 .fpointer = []
44+ self .assertEqual (self .node1 .fpointer , [])
45+
46+ def test_update_successors (self ):
47+ self .node1 .update_successors ("identifier 2" , tree_id = "tree 1" )
48+ self .assertEqual (self .node1 .successors ("tree 1" ), ['identifier 2' ])
49+ self .assertEqual (self .node1 ._successors ["tree 1" ], ['identifier 2' ])
50+ self .node1 .set_successors ([], tree_id = "tree 1" )
51+ self .assertEqual (self .node1 ._successors ["tree 1" ], [])
3852
3953 def test_set_bpointer (self ):
54+ # retro-compatibility
4055 self .node2 .update_bpointer ("identifier 1" )
4156 self .assertEqual (self .node2 .bpointer , 'identifier 1' )
4257 self .node2 .bpointer = None
58+ self .assertEqual (self .node2 .bpointer , None )
59+
60+ def test_set_predecessor (self ):
61+ self .node2 .set_predecessor ("identifier 1" , "tree 1" )
62+ self .assertEqual (self .node2 .predecessor ("tree 1" ), 'identifier 1' )
63+ self .assertEqual (self .node2 ._predecessor ["tree 1" ], 'identifier 1' )
64+ self .node2 .set_predecessor (None , "tree 1" )
65+ self .assertEqual (self .node2 .predecessor ("tree 1" ), None )
4366
4467 def test_set_is_leaf (self ):
4568 self .node1 .update_fpointer ("identifier 2" )
4669 self .node2 .update_bpointer ("identifier 1" )
4770 self .assertEqual (self .node1 .is_leaf (), False )
4871 self .assertEqual (self .node2 .is_leaf (), True )
4972
73+ def test_tree_wise_is_leaf (self ):
74+ self .node1 .update_successors ("identifier 2" , tree_id = "tree 1" )
75+ self .node2 .set_predecessor ("identifier 1" , "tree 1" )
76+ self .assertEqual (self .node1 .is_leaf ("tree 1" ), False )
77+ self .assertEqual (self .node2 .is_leaf ("tree 1" ), True )
78+
5079 def test_data (self ):
5180
5281 class Flower (object ):
0 commit comments