72 |
fen.graph.add(b,q,c) |
fen.graph.add(b,q,c) |
73 |
fen.graph.add(d,q,a) |
fen.graph.add(d,q,a) |
74 |
|
|
75 |
result = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
reps, lrep = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
76 |
for x in a, b, c, d: # all single nodes are components |
for x in a, b, c, d: # all single nodes are components |
77 |
assert result.contains(x) |
assert reps.contains(x) |
78 |
|
assert lrep in [a, b, c, d] # one of the components is largest |
79 |
|
|
80 |
fen.graph.add(a,p,b) |
fen.graph.add(a,p,b) |
81 |
|
|
82 |
result = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
reps, lrep = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
83 |
assert result.contains(a) != result.contains(b) # Either is representative |
assert reps.contains(a) != reps.contains(b) # Either is representative |
84 |
|
assert lrep in [a, b] # [a, b] is largest component |
85 |
|
|
86 |
fen.graph.add(a,p,c) |
fen.graph.add(a,p,c) |
87 |
|
|
88 |
result = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
reps, lrep = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
89 |
assert result.contains(a) # a has higher degree than b or c |
assert reps.contains(a) # a has higher degree than b or c |
90 |
assert not result.contains(b) |
assert not reps.contains(b) |
91 |
assert not result.contains(c) |
assert not reps.contains(c) |
92 |
|
assert lrep == a # a is in the largest component |
93 |
|
|
94 |
fen.graph.add(c,p,b) |
fen.graph.add(c,p,b) |
95 |
fen.graph.add(d,p,b) |
fen.graph.add(d,p,b) |
96 |
|
|
97 |
result = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
reps, lrep = Traversals.findComponents(getNodes(fen), p, fen.constgraph) |
98 |
assert result.contains(b) # b has highest degree |
assert reps.contains(b) # b has highest degree |
99 |
for x in a, c, d: |
for x in a, c, d: |
100 |
assert not result.contains(x) |
assert not reps.contains(x) |
101 |
|
|