4
Unit tests for Tree Class in tree.py
5
------------------------------------
7
>>> from networkx import *
8
>>> from networkx.classes.tree import *
16
Traceback (most recent call last):
18
NetworkXError: adding single node 0 not allowed in non-empty tree
19
>>> T.add_nodes_from(range(0,1))
20
Traceback (most recent call last):
22
NetworkXError: adding single node 0 not allowed in non-empty tree
31
>>> T.add_leaves_from([(1,2),(1,3)])
35
Traceback (most recent call last):
37
NetworkXError: adding edge 4-5 not allowed in tree
38
>>> T.delete_leaf(0,1)
41
>>> T.add_edge(1,2) # silent failure
42
>>> T.delete_leaves_from([(1,2),(1,3)])
52
>>> T.add_edges_from([(1,2),(1,3)])
56
Traceback (most recent call last):
58
NetworkXError: adding edge 4-5 not allowed in tree
59
>>> T.delete_edge(0,1)
66
>>> T.add_edge(1,2) # silent failure
67
>>> T.delete_edges_from([(1,2),(1,3)])
77
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
79
Traceback (most recent call last):
81
NetworkXError: node 5 not in graph
83
Traceback (most recent call last):
85
NetworkXError: deleting interior node 3 not allowed in tree
97
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
98
>>> T.delete_edge(2,3)
99
Traceback (most recent call last):
101
NetworkXError: deleting interior edge 2-3 not allowed in tree
102
>>> T.delete_edge(3,4)
108
Unit tests for RootedTree Class in tree.py
109
--------------------------------------------
117
Traceback (most recent call last):
119
NetworkXError: adding single node 0 not allowed in non-empty tree
120
>>> T.add_nodes_from(range(0,1))
121
Traceback (most recent call last):
123
NetworkXError: adding single node 0 not allowed in non-empty tree
132
>>> T.add_leaves_from([(1,2),(1,3)])
136
Traceback (most recent call last):
138
NetworkXError: adding edge 4-5 not allowed in tree
139
>>> T.delete_leaf(0,1)
142
>>> T.add_edge(1,2) # silent failure
143
>>> T.delete_leaves_from([(1,2),(1,3)])
153
>>> T.add_edges_from([(1,2),(1,3)])
157
Traceback (most recent call last):
159
NetworkXError: adding edge 4-5 not allowed in tree
160
>>> T.delete_edge(0,1)
167
>>> T.add_edge(1,2) # silent failure
168
>>> T.delete_edges_from([(1,2),(1,3)])
178
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
180
Traceback (most recent call last):
182
NetworkXError: node 5 not in graph
184
Traceback (most recent call last):
186
NetworkXError: deleting interior node 3 not allowed in tree
197
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
198
>>> T.delete_edge(2,3)
199
Traceback (most recent call last):
201
NetworkXError: deleting interior edge 2-3 not allowed in tree
202
>>> T.delete_edge(3,4)
211
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
213
Traceback (most recent call last):
215
NetworkXError: adding edge 1-4 not allowed in tree
216
>>> print sorted(T.par.items())
217
[(2, 1), (3, 2), (4, 3)]
219
Traceback (most recent call last):
221
NetworkXError: adding single node 5 not allowed in non-empty tree
224
>>> print sorted(T.edges())
225
[(1, 2), (2, 3), (3, 4), (4, 5)]
226
>>> T.add_edges_from([(6,7),(7,8),(8,9)])
227
Traceback (most recent call last):
229
NetworkXError: adding edge 6-7 not allowed in tree
232
>>> T.add_edges_from([(6,7),(7,8),(8,9)])
233
>>> print T.parent(5)
235
>>> print T.parent(1)
245
[(0, 1), (1, 2), (2, 3)]
248
Traceback (most recent call last):
250
NetworkXError: Data cycle_graph(4) is not a tree