def test_graph_add_edges(): G = Graph([1, 2, 3, 4, 5], [(1, 2), (2, 3)]) added_mobjects = G.add_edges((1, 3)) assert str(added_mobjects.submobjects) == "[Line]" assert str(G) == "Graph on 5 vertices and 3 edges" assert set(G.vertices.keys()) == {1, 2, 3, 4, 5} assert set(G.edges.keys()) == {(1, 2), (2, 3), (1, 3)} added_mobjects = G.add_edges((1, 42)) assert str(added_mobjects.submobjects) == "[Dot, Line]" assert str(G) == "Graph on 6 vertices and 4 edges" assert set(G.vertices.keys()) == {1, 2, 3, 4, 5, 42} assert set(G.edges.keys()) == {(1, 2), (2, 3), (1, 3), (1, 42)} added_mobjects = G.add_edges((4, 5), (5, 6), (6, 7)) assert len(added_mobjects) == 5 assert str(G) == "Graph on 8 vertices and 7 edges" assert set(G.vertices.keys()) == {1, 2, 3, 4, 5, 42, 6, 7} assert set(G._graph.nodes()) == set(G.vertices.keys()) assert set(G.edges.keys()) == { (1, 2), (2, 3), (1, 3), (1, 42), (4, 5), (5, 6), (6, 7), } assert set(G._graph.edges()) == set(G.edges.keys())
def test_graph_add_edges(using_opengl_renderer): G = Graph([1, 2, 3, 4, 5], [(1, 2), (2, 3)]) added_mobjects = G.add_edges((1, 3)) assert isinstance(added_mobjects.submobjects[0], Line) assert len(G.vertices) == 5 assert len(G.edges) == 3 assert set(G.vertices.keys()) == {1, 2, 3, 4, 5} assert set(G.edges.keys()) == {(1, 2), (2, 3), (1, 3)} added_mobjects = G.add_edges((1, 42)) removed_mobjects = added_mobjects.submobjects assert isinstance(removed_mobjects[0], Dot) assert isinstance(removed_mobjects[1], Line) assert len(G.vertices) == 6 assert len(G.edges) == 4 assert set(G.vertices.keys()) == {1, 2, 3, 4, 5, 42} assert set(G.edges.keys()) == {(1, 2), (2, 3), (1, 3), (1, 42)} added_mobjects = G.add_edges((4, 5), (5, 6), (6, 7)) assert len(added_mobjects) == 5 assert len(G.vertices) == 8 assert len(G.edges) == 7 assert set(G.vertices.keys()) == {1, 2, 3, 4, 5, 42, 6, 7} assert set(G._graph.nodes()) == set(G.vertices.keys()) assert set(G.edges.keys()) == { (1, 2), (2, 3), (1, 3), (1, 42), (4, 5), (5, 6), (6, 7), } assert set(G._graph.edges()) == set(G.edges.keys())