def test_remove_edge(self): graph = Graph(directed=False, weighted=False) graph.add_multiple_edges(((1, 2), (2, 3), (3, 4))) assert len(graph) == 4 assert len(graph.edges) == 3 assert graph.adj == {1: {2}, 2: {1, 3}, 3: {2, 4}, 4: {3}} graph.remove_edge((1, 2)) assert len(graph) == 4 assert len(graph.edges) == 2 assert graph.adj == {1: set(), 2: {3}, 3: {2, 4}, 4: {3}}
for j in range(0,4): if i<j: g.add_edge(str(i)+","+str(j), i, j, i+j) for i in range(4,8): for j in range(4,8): if i<j: g.add_edge(str(i)+","+str(j), i, j, i+j) g.add_edge("bridge", 0, 4) check_graph_validity(g) assert(str(g) == "<Graph with %d vertices and %d edges>" %(10, 13)) g.remove_vertex("eggs") g.remove_edge("bridge") g.remove_vertex(5) check_graph_validity(g) assert(str(g) == "<Graph with %d vertices and %d edges>" %(8, 9)) g = g.copy() check_graph_validity(g) assert(str(g) == "<Graph with %d vertices and %d edges>" %(8, 9)) gg = g.to_tuple_set_tuple() hh = ({(6, None), ('spam', None), (4, None), (1, None), (7, None), (0, None), (3, None), (2, None)}, {('4,6', 4, 6, 10), ('1,2', 1, 2, 3), ('0,3', 0, 3, 3), ('4,7', 4, 7, 11), ('0,1', 0, 1, 1), ('0,2', 0, 2, 2), ('6,7', 6, 7, 13), ('1,3', 1, 3, 4), ('2,3', 2, 3, 5)}) assert(gg==hh) for i in range(5, 20): g.add_vertex(i, i) for i in range(17, 27): for j in range (6, 13):
for j in range(0, 4): if i < j: g.add_edge(str(i) + "," + str(j), i, j, i + j) for i in range(4, 8): for j in range(4, 8): if i < j: g.add_edge(str(i) + "," + str(j), i, j, i + j) g.add_edge("bridge", 0, 4) check_graph_validity(g) assert (str(g) == "<Graph with %d vertices and %d edges>" % (10, 13)) g.remove_vertex("eggs") g.remove_edge("bridge") g.remove_vertex(5) check_graph_validity(g) assert (str(g) == "<Graph with %d vertices and %d edges>" % (8, 9)) g = g.copy() check_graph_validity(g) assert (str(g) == "<Graph with %d vertices and %d edges>" % (8, 9)) gg = g.to_tuple_set_tuple() hh = ({(6, None), ('spam', None), (4, None), (1, None), (7, None), (0, None), (3, None), (2, None)}, {('4,6', 4, 6, 10), ('1,2', 1, 2, 3), ('0,3', 0, 3, 3), ('4,7', 4, 7, 11), ('0,1', 0, 1, 1), ('0,2', 0, 2, 2), ('6,7', 6, 7, 13), ('1,3', 1, 3, 4), ('2,3', 2, 3, 5)}) assert (gg == hh)