예제 #1
0
파일: test_bfs.py 프로젝트: gj1292/Plexus
def test_bfs_on_undirected_graph():
    g = Graph()
    g.add_nodes_from([1, 2, 3, 4, 5])
    g.add_edge(1, 2)
    g.add_edge(1, 3)
    g.add_edge(2, 4)
    g.add_edge(3, 4)

    assert bfs(g, 1) == [1, 2, 3, 4]
예제 #2
0
def test_reachability_on_undirected_graph():
    g = Graph()
    g.add_nodes_from([1, 2, 3, 4, 5])
    g.add_edge(1, 2)
    g.add_edge(2, 3)
    g.add_edge(2, 4)
    g.add_edge(3, 4)

    assert is_reachable(g, 1, 2)
    assert is_reachable(g, 2, 1)
    assert is_reachable(g, 1, 3)
    assert is_reachable(g, 3, 1)
    assert is_reachable(g, 1, 4)
    assert is_reachable(g, 4, 1)
    assert is_reachable(g, 2, 3)
    assert is_reachable(g, 3, 2)
    assert is_reachable(g, 2, 4)
    assert is_reachable(g, 4, 2)
    assert is_reachable(g, 3, 4)
    assert is_reachable(g, 4, 3)
예제 #3
0
파일: test_bfs.py 프로젝트: gj1292/Plexus
def test_bfs_on_graph_with_no_edges():
    g = Graph()
    g.add_nodes_from([1, 2, 3, 4, 5])

    assert bfs(g, 1) == [1]