def test_one_edge(concomp): msg = "{} failed".format(concomp.__name__) g = Graph() g.add_edge(0, 1) cc = concomp(g) assert len(cc) == 2, msg assert cc[0] == cc[1], msg
def test_two_disjoint_edges(concomp): msg = "{} failed".format(concomp.__name__) g = Graph() g.add_edge(0, 1) g.add_edge(2, 3) cc = concomp(g) assert len(cc) == 4 assert cc[0] == cc[1] assert cc[2] == cc[3] assert cc[0] != cc[2]
def test_simple_chain(concomp, n): assert n > 1 msg = "{} failed".format(concomp.__name__) g = Graph() for i in range(n): g.add_edge(i, i + 1) cc = concomp(g) assert len(cc) == n + 1 for i in range(n): assert cc[i] == cc[i + 1], msg
class TestGraph: def setup(self): self.g = Graph() def test_add_edge(self): self.g.add_edge(0, 1) for i in range(2): assert len(self.g[i]) == 1, len(self.g[i]) def test_add_edge_loop(self): for i in range(10): self.g.add_edge(i, i + 1) for i in range(1, 9): assert len(self.g[i]) == 2, len(self.g[i]) for i in [0, 10]: assert len(self.g[i]) == 1, len(self.g[i]) def test_del_edge(self): self.g.add_edge(0, 1) for i in [0, 1]: assert len(self.g[i]) == 1, len(self.g[i]) self.g.del_edge(0, 1) for i in [0, 1]: assert len(self.g[i]) == 0, len(self.g[i]) def test_del_edge_nonexistent(self): self.g.del_edge(0, 1) assert True def test_del_edge_multiple(self): for i in range(3): self.g.add_edge(0, 1) self.g.del_edge(0, 1) for i in range(2): assert len(self.g[i]) == 0, len(self.g[i])