1
1
import unittest
2
2
3
+ from collections import defaultdict
3
4
from treelib import Node
4
5
5
6
@@ -11,9 +12,13 @@ def setUp(self):
11
12
def test_initialization (self ):
12
13
self .assertEqual (self .node1 .tag , "Test One" )
13
14
self .assertEqual (self .node1 .identifier , "identifier 1" )
14
- self . assertEqual ( self . node1 . expanded , True )
15
+ # retro-compatibility
15
16
self .assertEqual (self .node1 .bpointer , None )
16
17
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 ))
17
22
self .assertEqual (self .node1 .data , None )
18
23
19
24
def test_set_tag (self ):
@@ -32,21 +37,45 @@ def test_set_identifier(self):
32
37
self .node1 .identifier = "identifier 1"
33
38
34
39
def test_set_fpointer (self ):
40
+ # retro-compatibility
35
41
self .node1 .update_fpointer ("identifier 2" )
36
42
self .assertEqual (self .node1 .fpointer , ['identifier 2' ])
37
43
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" ], [])
38
52
39
53
def test_set_bpointer (self ):
54
+ # retro-compatibility
40
55
self .node2 .update_bpointer ("identifier 1" )
41
56
self .assertEqual (self .node2 .bpointer , 'identifier 1' )
42
57
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 )
43
66
44
67
def test_set_is_leaf (self ):
45
68
self .node1 .update_fpointer ("identifier 2" )
46
69
self .node2 .update_bpointer ("identifier 1" )
47
70
self .assertEqual (self .node1 .is_leaf (), False )
48
71
self .assertEqual (self .node2 .is_leaf (), True )
49
72
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
+
50
79
def test_data (self ):
51
80
52
81
class Flower (object ):
0 commit comments