Skip to content

Commit 78089ba

Browse files
committed
Fixed wrong tests in spanning trees
1 parent b81d2ca commit 78089ba

2 files changed

Lines changed: 15 additions & 24 deletions

File tree

graphs/graph.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class graph(object):
44
55
methods: add_edge, add_edges, add_node, add_nodes, has_node,
66
has_edge, nodes, edges, neighbors, del_node, del_edge, node_order,
7-
set_edge_weight, get_edge_weight,
7+
set_edge_weight, get_edge_weight
88
"""
99

1010
DEFAULT_WEIGHT = 1

tests/graph_algorithms_test.py

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def test_topological_ordering(self):
6363
dag.add_edges([("a", "b"), ("a", "c"), ("a", "e"), ("d", "a")])
6464
dag.add_edges([("g", "b"), ("g", "f"), ("f", "e"), ("h", "f"), ("h", "a")])
6565
order = {o[0]: o[1] for o in topological_ordering(dag)}
66-
self.assertEqual(sum([order[u] < order[v] for (u, v) in
66+
self.assertEqual(sum([order[u] < order[v] for (u, v) in
6767
dag.edges()]), len(dag.edges())) # all comparisons are True
6868

6969
def test_directed_connected_components(self):
@@ -86,7 +86,7 @@ def test_shortest_path_in_directed_graph(self):
8686
digr.add_nodes(["a", "b", "c", "d", "e", "f"])
8787
digr.add_edge(("a", "b"), 7)
8888
digr.add_edge(("a", "c"), 9)
89-
digr.add_edge(("a", "f"), 14)
89+
digr.add_edge(("a", "f"), 14)
9090
digr.add_edge(("f", "e"), 9)
9191
digr.add_edge(("c", "f"), 2)
9292
digr.add_edge(("c", "d"), 11)
@@ -101,33 +101,24 @@ def test_shortest_path_in_directed_graph(self):
101101
self.assertEqual(shortest_path(digr, "a")["f"], 11)
102102

103103
def test_prims_minimum_spanning_tree(self):
104-
lines = [l for l in open("tests/edges.txt")]
105-
lines = lines[1:]
106-
edges = (l.split() for l in lines)
107104
gr = graph()
108-
for (u, v, w) in edges:
109-
if u not in gr.nodes():
110-
gr.add_node(u)
111-
if v not in gr.nodes():
112-
gr.add_node(v)
113-
gr.add_edge( (u, v), int(w) )
114-
105+
gr.add_nodes(["a", "b", "c", "d"])
106+
gr.add_edge(("a", "b"), 4)
107+
gr.add_edge(("b", "c"), 3)
108+
gr.add_edge(("a", "c"), 1)
109+
gr.add_edge(("c", "d"), 2)
115110
min_cost = minimum_spanning_tree(gr)
116-
self.assertEqual(min_cost, 39)
111+
self.assertEqual(min_cost, 6)
117112

118113
def test_kruskals_minimum_spanning_tree(self):
119-
lines = [l for l in open("tests/edges.txt")]
120-
lines = lines[1:]
121-
edges = (l.split() for l in lines)
122114
gr = graph()
123-
for (u, v, w) in edges:
124-
if u not in gr.nodes():
125-
gr.add_node(u)
126-
if v not in gr.nodes():
127-
gr.add_node(v)
128-
gr.add_edge( (u, v), int(w) )
115+
gr.add_nodes(["a", "b", "c", "d"])
116+
gr.add_edge(("a", "b"), 4)
117+
gr.add_edge(("b", "c"), 3)
118+
gr.add_edge(("a", "c"), 1)
119+
gr.add_edge(("c", "d"), 2)
129120
min_cost = kruskal_MST(gr)
130-
self.assertEqual(min_cost, 39)
121+
self.assertEqual(min_cost, 6)
131122

132123
if __name__ == "__main__":
133124
unittest.main()

0 commit comments

Comments
 (0)