Ejemplo n.º 1
0
def test_bidirectional_weight_name():
    G = nx.cycle_graph(7)
    nx.set_edge_attributes(G, 'weight', 1)
    nx.set_edge_attributes(G, 'foo', 1)
    G.edge[1][2]['foo'] = 7
    paths = list(nx.bidirectional_all_simple_paths(G, 0, 3))
    solution = [[0, 1, 2, 3], [0, 6, 5, 4, 3]]
    assert_equal(paths, solution)
Ejemplo n.º 2
0
def test_bidirectional_weight_name():
    G = nx.cycle_graph(7)
    nx.set_edge_attributes(G, 'weight', 1)
    nx.set_edge_attributes(G, 'foo', 1)
    G.edge[1][2]['foo'] = 7
    paths = list(nx.bidirectional_all_simple_paths(G, 0, 3))
    solution = [[0, 1, 2, 3], [0, 6, 5, 4, 3]]
    assert_equal(paths, solution)
Ejemplo n.º 3
0
def test_bidirectional_shortest_simple_paths():
    G = cnlti(nx.grid_2d_graph(4, 4), first_label=1, ordering="sorted")
    paths = nx.bidirectional_all_shortest_paths(G, 1, 12)
    assert_equal(next(paths), [1, 5, 6, 10, 11, 12])
    assert_equal(next(paths), [1, 5, 6, 7, 8, 12])
    assert_equal(
        [len(path) for path in nx.bidirectional_all_simple_paths(G, 1, 12)],
        sorted([len(path) for path in nx.all_simple_paths(G, 1, 12)]))
Ejemplo n.º 4
0
def test_bidirectional_shortest_simple_paths():
    G = cnlti(nx.grid_2d_graph(4, 4), first_label=1, ordering="sorted")
    paths = nx.bidirectional_all_shortest_paths(G, 1, 12)
    assert_equal(next(paths), [1, 5, 6, 10, 11, 12])
    assert_equal(next(paths), [1, 5, 6, 7, 8, 12])
    assert_equal(
        [len(path) for path in nx.bidirectional_all_simple_paths(G, 1, 12)],
        sorted([len(path) for path in nx.all_simple_paths(G, 1, 12)]))
Ejemplo n.º 5
0
def test_bidirectional_target_missing():
    G = nx.Graph()
    G.add_path([1, 2, 3])
    paths = list(nx.bidirectional_all_simple_paths(nx.MultiGraph(G), 1, 4))
Ejemplo n.º 6
0
def test_bidirectional_source_missing():
    G = nx.Graph()
    G.add_path([1, 2, 3])
    paths = list(nx.bidirectional_all_simple_paths(nx.MultiGraph(G), 0, 3))
Ejemplo n.º 7
0
def test_bidirectional_cutoff_zero():
    G = nx.complete_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 3, cutoff=0)
    assert_equal(list(list(p) for p in paths), [])
    paths = nx.bidirectional_all_simple_paths(nx.MultiGraph(G), 0, 3, cutoff=0)
    assert_equal(list(list(p) for p in paths), [])
Ejemplo n.º 8
0
def test_bidirectional_all_simple_paths_empty():
    G = nx.path_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 3, cutoff=2)
    assert_equal(list(list(p) for p in paths), [])
Ejemplo n.º 9
0
def test_bidirectional_all_simple_paths_directed():
    G = nx.DiGraph()
    G.add_path([1, 2, 3])
    G.add_path([3, 2, 1])
    paths = nx.bidirectional_all_simple_paths(G, 1, 3)
    assert_equal(list(list(p) for p in paths), [[1, 2, 3]])
Ejemplo n.º 10
0
def test_bidirectional_all_simple_paths_multigraph_with_cutoff():
    G = nx.MultiGraph([(1, 2), (1, 2), (1, 10), (10, 2)])
    paths = nx.bidirectional_all_simple_paths(G, 1, 2, cutoff=1)
    assert_equal(list(list(p) for p in paths), [[1, 2], [1, 2]])
Ejemplo n.º 11
0
def test_bidirectional_all_simple_paths_cutoff():
    G = nx.complete_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 1, cutoff=1)
    assert_equal(list(list(p) for p in paths), [[0, 1]])
    paths = nx.bidirectional_all_simple_paths(G, 0, 1, cutoff=2)
    assert_equal(list(list(p) for p in paths), [[0, 1], [0, 2, 1], [0, 3, 1]])
Ejemplo n.º 12
0
def test_bidirectional_all_simple_paths_cutoff():
    G = nx.complete_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 1, cutoff=1)
    assert_equal(list(list(p) for p in paths), [[0, 1]])
    paths = nx.bidirectional_all_simple_paths(G, 0, 1, cutoff=2)
    assert_equal(list(list(p) for p in paths), [[0, 1], [0, 2, 1], [0, 3, 1]])
Ejemplo n.º 13
0
def test_bidirectional_target_missing():
    G = nx.Graph()
    G.add_path([1, 2, 3])
    paths = list(nx.bidirectional_all_simple_paths(nx.MultiGraph(G), 1, 4))
Ejemplo n.º 14
0
def test_bidirectional_source_missing():
    G = nx.Graph()
    G.add_path([1, 2, 3])
    paths = list(nx.bidirectional_all_simple_paths(nx.MultiGraph(G), 0, 3))
Ejemplo n.º 15
0
def test_bidirectional_cutoff_zero():
    G = nx.complete_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 3, cutoff=0)
    assert_equal(list(list(p) for p in paths), [])
    paths = nx.bidirectional_all_simple_paths(nx.MultiGraph(G), 0, 3, cutoff=0)
    assert_equal(list(list(p) for p in paths), [])
Ejemplo n.º 16
0
def test_bidirectional_all_simple_paths_empty():
    G = nx.path_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 3, cutoff=2)
    assert_equal(list(list(p) for p in paths), [])
Ejemplo n.º 17
0
def test_bidirectional_all_simple_paths_directed():
    G = nx.DiGraph()
    G.add_path([1, 2, 3])
    G.add_path([3, 2, 1])
    paths = nx.bidirectional_all_simple_paths(G, 1, 3)
    assert_equal(list(list(p) for p in paths), [[1, 2, 3]])
Ejemplo n.º 18
0
def test_bidirectional_all_simple_paths_multigraph_with_cutoff():
    G = nx.MultiGraph([(1, 2), (1, 2), (1, 10), (10, 2)])
    paths = nx.bidirectional_all_simple_paths(G, 1, 2, cutoff=1)
    assert_equal(list(list(p) for p in paths), [[1, 2], [1, 2]])
Ejemplo n.º 19
0
def test_bidirectional_all_simple_paths():
    G = nx.path_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 3)
    assert_equal(list(list(p) for p in paths), [[0, 1, 2, 3]])
Ejemplo n.º 20
0
def test_bidirectional_all_simple_paths():
    G = nx.path_graph(4)
    paths = nx.bidirectional_all_simple_paths(G, 0, 3)
    assert_equal(list(list(p) for p in paths), [[0, 1, 2, 3]])