~ubuntu-branches/ubuntu/saucy/python-networkx/saucy

« back to all changes in this revision

Viewing changes to networkx/classes/tests/tree.txt

  • Committer: Bazaar Package Importer
  • Author(s): Cyril Brulebois
  • Date: 2009-02-28 13:36:24 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090228133624-9l5rwi1ftlzc7b0l
* Upload to unstable now that lenny is released (yay).
* Fix FTBFS with python-support 0.90.3: no longer rely on its internal
  behaviour, and xnow set tests/test.py executable right after “setup.py
  install” (Closes: #517065).
* Drop executable bits from bz2 files.
* Update Vcs-* fields: move from DPMT's svn to collab-maint's git.
* Remote DPMT from Uploaders, following Piotr Ożarowski's request.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Tree
 
2
=====
 
3
 
 
4
Unit tests for Tree Class in tree.py
 
5
------------------------------------
 
6
 
 
7
>>> from networkx import *
 
8
>>> from networkx.classes.tree import *
 
9
 
 
10
Add node
 
11
--------
 
12
 
 
13
>>> T=Tree()
 
14
>>> T.add_node(1)
 
15
>>> T.add_node(0)
 
16
Traceback (most recent call last):
 
17
...
 
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):
 
21
...
 
22
NetworkXError: adding single node 0 not allowed in non-empty tree
 
23
 
 
24
 
 
25
Add leaf
 
26
--------
 
27
>>> T=Tree()
 
28
>>> T.add_leaf(0,1)
 
29
>>> T.has_edge(0,1)
 
30
True
 
31
>>> T.add_leaves_from([(1,2),(1,3)])
 
32
>>> T.has_edge(1,3)
 
33
True
 
34
>>> T.add_leaf(4,5)
 
35
Traceback (most recent call last):
 
36
...
 
37
NetworkXError: adding edge 4-5 not allowed in tree
 
38
>>> T.delete_leaf(0,1)
 
39
>>> T.has_edge(0,1)
 
40
False
 
41
>>> T.add_edge(1,2) # silent failure
 
42
>>> T.delete_leaves_from([(1,2),(1,3)])
 
43
>>> print T.edges()
 
44
[]
 
45
 
 
46
Add edge
 
47
--------
 
48
>>> T=Tree()
 
49
>>> T.add_edge(0,1)
 
50
>>> T.has_edge(0,1)
 
51
True
 
52
>>> T.add_edges_from([(1,2),(1,3)])
 
53
>>> T.has_edge(1,3)
 
54
True
 
55
>>> T.add_edge(4,5)
 
56
Traceback (most recent call last):
 
57
...
 
58
NetworkXError: adding edge 4-5 not allowed in tree
 
59
>>> T.delete_edge(0,1)
 
60
>>> T.has_edge(0,1)
 
61
False
 
62
>>> T.has_node(0)
 
63
False
 
64
>>> T.has_node(1)
 
65
True
 
66
>>> T.add_edge(1,2) # silent failure
 
67
>>> T.delete_edges_from([(1,2),(1,3)])
 
68
>>> print T.edges()
 
69
[]
 
70
>>> print T.nodes()
 
71
[]
 
72
 
 
73
Delete node
 
74
-----------
 
75
 
 
76
>>> T=Tree()
 
77
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
 
78
>>> T.delete_node(5)
 
79
Traceback (most recent call last):
 
80
...
 
81
NetworkXError: node 5 not in graph
 
82
>>> T.delete_node(3)
 
83
Traceback (most recent call last):
 
84
...
 
85
NetworkXError: deleting interior node 3 not allowed in tree
 
86
>>> T.add_node(3)
 
87
>>> T.delete_node(4)
 
88
>>> print T.nodes()
 
89
[1, 2, 3]
 
90
>>> print T.edges()
 
91
[(1, 2), (2, 3)]
 
92
 
 
93
 
 
94
Delete edge
 
95
-----------
 
96
>>> T=Tree()
 
97
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
 
98
>>> T.delete_edge(2,3)
 
99
Traceback (most recent call last):
 
100
...
 
101
NetworkXError: deleting interior edge 2-3 not allowed in tree
 
102
>>> T.delete_edge(3,4)
 
103
>>> print T.edges()
 
104
[(1, 2), (2, 3)]
 
105
 
 
106
 
 
107
 
 
108
Unit tests for RootedTree Class in tree.py
 
109
--------------------------------------------
 
110
 
 
111
Add node
 
112
--------
 
113
 
 
114
>>> T=RootedTree(0)
 
115
>>> T.add_node(1)
 
116
>>> T.add_node(0)
 
117
Traceback (most recent call last):
 
118
...
 
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):
 
122
...
 
123
NetworkXError: adding single node 0 not allowed in non-empty tree
 
124
 
 
125
 
 
126
Add leaf
 
127
--------
 
128
>>> T=RootedTree(0)
 
129
>>> T.add_leaf(0,1)
 
130
>>> T.has_edge(0,1)
 
131
True
 
132
>>> T.add_leaves_from([(1,2),(1,3)])
 
133
>>> T.has_edge(1,3)
 
134
True
 
135
>>> T.add_leaf(4,5)
 
136
Traceback (most recent call last):
 
137
...
 
138
NetworkXError: adding edge 4-5 not allowed in tree
 
139
>>> T.delete_leaf(0,1)
 
140
>>> T.has_edge(0,1)
 
141
False
 
142
>>> T.add_edge(1,2) # silent failure
 
143
>>> T.delete_leaves_from([(1,2),(1,3)])
 
144
>>> print T.edges()
 
145
[]
 
146
 
 
147
Add edge
 
148
--------
 
149
>>> T=RootedTree(0)
 
150
>>> T.add_edge(0,1)
 
151
>>> T.has_edge(0,1)
 
152
True
 
153
>>> T.add_edges_from([(1,2),(1,3)])
 
154
>>> T.has_edge(1,3)
 
155
True
 
156
>>> T.add_edge(4,5)
 
157
Traceback (most recent call last):
 
158
...
 
159
NetworkXError: adding edge 4-5 not allowed in tree
 
160
>>> T.delete_edge(0,1)
 
161
>>> T.has_edge(0,1)
 
162
False
 
163
>>> T.has_node(0)
 
164
False
 
165
>>> T.has_node(1)
 
166
True
 
167
>>> T.add_edge(1,2) # silent failure
 
168
>>> T.delete_edges_from([(1,2),(1,3)])
 
169
>>> print T.edges()
 
170
[]
 
171
>>> print T.nodes()
 
172
[]
 
173
 
 
174
Delete node
 
175
-----------
 
176
 
 
177
>>> T=RootedTree(0)
 
178
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
 
179
>>> T.delete_node(5)
 
180
Traceback (most recent call last):
 
181
...
 
182
NetworkXError: node 5 not in graph
 
183
>>> T.delete_node(3)
 
184
Traceback (most recent call last):
 
185
...
 
186
NetworkXError: deleting interior node 3 not allowed in tree
 
187
>>> T.delete_node(4)
 
188
>>> print T.nodes()
 
189
[1, 2, 3]
 
190
>>> print T.edges()
 
191
[(1, 2), (2, 3)]
 
192
 
 
193
 
 
194
Delete edge
 
195
-----------
 
196
>>> T=RootedTree(0)
 
197
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
 
198
>>> T.delete_edge(2,3)
 
199
Traceback (most recent call last):
 
200
...
 
201
NetworkXError: deleting interior edge 2-3 not allowed in tree
 
202
>>> T.delete_edge(3,4)
 
203
>>> print T.edges()
 
204
[(1, 2), (2, 3)]
 
205
 
 
206
 
 
207
Paths and Parents
 
208
-----------------
 
209
 
 
210
>>> T=RootedTree(0)
 
211
>>> T.add_edges_from([(1,2),(2,3),(3,4)])
 
212
>>> T.add_edge(1,4)
 
213
Traceback (most recent call last):
 
214
...
 
215
NetworkXError: adding edge 1-4 not allowed in tree
 
216
>>> print sorted(T.par.items())
 
217
[(2, 1), (3, 2), (4, 3)]
 
218
>>> T.add_node(5)
 
219
Traceback (most recent call last):
 
220
...
 
221
NetworkXError: adding single node 5 not allowed in non-empty tree
 
222
 
 
223
>>> T.add_edge(4,5)
 
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):
 
228
...
 
229
NetworkXError: adding edge 6-7 not allowed in tree
 
230
 
 
231
>>> T.add_edge(5,6)
 
232
>>> T.add_edges_from([(6,7),(7,8),(8,9)])
 
233
>>> print T.parent(5)
 
234
4
 
235
>>> print T.parent(1)
 
236
None
 
237
 
 
238
 
 
239
Auto conversion
 
240
---------------
 
241
 
 
242
>>> P=path_graph(4)
 
243
>>> T=Tree(P)
 
244
>>> print T.edges()
 
245
[(0, 1), (1, 2), (2, 3)]
 
246
>>> P=cycle_graph(4)
 
247
>>> T=Tree(P)
 
248
Traceback (most recent call last):
 
249
...
 
250
NetworkXError: Data cycle_graph(4) is not a tree
 
251
 
 
252