Exemplo n.º 1
0
    def test_add_multiple_edges(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 = Graph()
        graph.add_multiple_edges([(1, 2), (2, 3), (3, 4)])
        assert graph.adj == {1: {2}, 2: {1, 3}, 3: {2, 4}, 4: {3}}
Exemplo n.º 2
0
def test_is_connected_true():
    graph = Graph(directed=False)
    graph.add_multiple_edges([(1, 2), (2, 3), (3, 4)])
    assert is_connected(graph)
Exemplo n.º 3
0
def test_is_connected_false():
    graph = Graph(directed=False)
    graph.add_node(1)
    graph.add_multiple_edges([(2, 3), (3, 4)])
    assert not is_connected(graph)
def test_connected_components_single():
    graph = Graph(directed=False)
    graph.add_multiple_edges([(1, 2), (1, 3), (4, 2), (4, 5), (6, 4), (6, 7)])
    components = list(connected_components(graph))
    assert components == [{1, 2, 3, 4, 5, 6, 7}]
Exemplo n.º 5
0
def test_bfs_shortest_path_undirected():
    graph = Graph(directed=False)
    graph.add_multiple_edges([(1, 2), (2, 3), (3, 4), (4, 5), (4, 2)])
    assert bfs_shortest_path(graph, 1, 4) == [1, 2, 4]
    assert bfs_shortest_path(graph, 1, 6) is None