def test_breadth_first_1():
    graph = Graph()
    node_1 = graph.add_node('1')
    actual = graph.breadth_first(node_1)
    expected = [node_1]

    assert actual == expected
Exemple #2
0
def test_breadth_first():

    g = Graph()

    pandora = g.add_node("Pandora")

    arendelle = g.add_node("Arendelle")

    metroville = g.add_node("Metroville")

    monstropolis = g.add_node("Monstropolis")

    narnia = g.add_node("Narnia")

    naboo = g.add_node("Naboo")

    g.add_edge(pandora, arendelle)
    g.add_edge(arendelle, pandora)

    g.add_edge(arendelle, metroville)
    g.add_edge(metroville, arendelle)

    g.add_edge(arendelle, monstropolis)
    g.add_edge(monstropolis, arendelle)

    g.add_edge(metroville, monstropolis)
    g.add_edge(monstropolis, metroville)

    g.add_edge(metroville, narnia)
    g.add_edge(narnia, metroville)

    g.add_edge(metroville, naboo)
    g.add_edge(naboo, metroville)

    g.add_edge(narnia, naboo)
    g.add_edge(naboo, narnia)

    values = []

    g.breadth_first(pandora, lambda v: values.append(v.value))

    assert values == [
        "Pandora", "Arendelle", "Metroville", "Monstropolis", "Narnia", "Naboo"
    ]
Exemple #3
0
def test_breadth_unOrdered():
    g = Graph()
    a = g.add_node('a')
    b = g.add_node('b')
    c = g.add_node('c')
    d = g.add_node('d')
    g.add_edge(a, b)
    g.add_edge(b, c)
    g.add_edge(a, d)
    breadth = g.breadth_first(a)
    expected = ['a', 'b', 'd', 'c']
    assert expected == breadth
def test_breadth_first_2():
    graph = Graph()
    node_1 = graph.add_node('1')
    node_2 = graph.add_node('10')
    node_3 = graph.add_node('20')
    node_4 = graph.add_node('100')
    graph.add_edge(node_1 , node_2 , 0)
    graph.add_edge(node_1 , node_3 , 1)
    graph.add_edge(node_3 , node_4 , 1)
    actual = graph.breadth_first(node_1)
    expected = [node_1,node_2,node_3,node_4]

    assert actual == expected
Exemple #5
0
def test_breadth_b():
    g = Graph()
    a = g.add_node('a')
    b = g.add_node('b')
    c = g.add_node('c')
    d = g.add_node('d')
    e = g.add_node('e')
    g.add_edge(b, a)
    g.add_edge(b, d)
    g.add_edge(b, e)
    g.add_edge(a, c)
    g.add_edge(e, a)
    breadth = g.breadth_first(b)
    expected = ['b', 'a', 'd', 'e', 'c']
    assert expected == breadth
def test_breadth_first():
    graph2 = Graph()

    graph2.add_vertex('E')
    graph2.add_vertex('F')
    graph2.add_vertex('G')
    graph2.add_vertex('H')
    graph2.add_vertex('I')
    graph2.add_vertex('J')

    graph2.add_edge('E', 'F', 7)
    graph2.add_edge('E', 'G', 8)
    graph2.add_edge('G', 'H', 9)
    graph2.add_edge('G', 'I', 10)
    graph2.add_edge('H', 'J', 11)
    graph2.add_edge('I', 'J', 12)

    actual = graph2.breadth_first('E')

    expected = ['E', 'F', 'G', 'H', 'I', 'J']

    assert actual == expected
Exemple #7
0
def test_breadth_first_empty_graph():
    graph = Graph()
    spam = Vertex("spam")
    with pytest.raises(ValueError):
        vertices_lst = graph.breadth_first(spam)