def test_get_vertices():
    g = Graph()
    vertex_apple = g.add('apple')
    vertex_banana = g.add('banana')
    vertex_cake = g.add('cake')
    expected = g.get_vertices()
    assert expected == ['apple', 'banana', 'cake']
def test_edge():
    g = Graph()
    vertex_apple = g.add('apple')
    vertex_banana = g.add('banana')
    g.add_edge(vertex_apple, vertex_banana, 3)
    assert g._graph['apple'] == [('banana', 3)]
    assert g._graph['banana'] == [('apple', 3)]
def test_size():
    g = Graph()
    vertex_apple = g.add('apple')
    vertex_banana = g.add('banana')
    vertex_cake = g.add('cake')
    expected = g.size()
    assert expected == 3
    vertex_banana = g.add('dog')
    vertex_cake = g.add('egg')
    expected = g.size()
    assert expected == 5
def test_edge_two():
    g = Graph()
    vertex_apple = g.add('apple')
    vertex_banana = g.add('banana')
    vertex_cake = g.add('cake')
    vertex_dog = g.add('dog')
    vertex_egg = g.add('egg')
    g.add_edge(vertex_apple, vertex_banana)
    g.add_edge(vertex_cake, vertex_dog, 2)
    g.add_edge(vertex_dog, vertex_egg, 4)
    assert g._graph['apple'] == [('banana', 1)]
    assert g._graph['banana'] == [('apple', 1)]
    assert g._graph['dog'] == [('cake', 2), ('egg', 4)]
def test_neighbors():
    g = Graph()
    vertex_apple = g.add('apple')
    vertex_banana = g.add('banana')
    vertex_cake = g.add('cake')
    vertex_dog = g.add('dog')
    vertex_egg = g.add('egg')
    vertex_foo = g.add('foo')
    g.add_edge(vertex_apple, vertex_banana)
    g.add_edge(vertex_cake, vertex_dog, 2)
    g.add_edge(vertex_dog, vertex_egg, 4)
    expected_apple = g.get_neighbors(vertex_apple)
    expected_dog = g.get_neighbors(vertex_dog)
    expected_foo = g.get_neighbors(vertex_foo)
    assert expected_apple == [('banana', 1)]
    assert expected_dog == [('cake', 2), ('egg', 4)]
    assert expected_foo == []
Exemplo n.º 6
0
def test_neighbors():
    g = Graph()
    vertex_a = g.add('a')
    vertex_b = g.add('b')
    vertex_c = g.add('c')
    vertex_d = g.add('d')
    vertex_e = g.add('e')
    vertex_f = g.add('f')
    vertex_g = g.add('g')
    vertex_h = g.add('h')

    g.add_edge(vertex_a, vertex_b)
    g.add_edge(vertex_a, vertex_c)
    g.add_edge(vertex_a, vertex_d)
    g.add_edge(vertex_e, vertex_c)
    g.add_edge(vertex_e, vertex_d)
    g.add_edge(vertex_e, vertex_f)
    g.add_edge(vertex_f, vertex_g)
    g.add_edge(vertex_h, vertex_g)
    g.add_edge(vertex_b, vertex_g)

    actual = g.breadth_first('a')
    assert actual == []
def test_neighbors_three():
    g = Graph()
    vertex_a = g.add('a')
    vertex_b = g.add('b')
    vertex_c = g.add('c')
    vertex_d = g.add('d')
    vertex_e = g.add('e')
    vertex_f = g.add('f')
    vertex_g = g.add('g')
    vertex_h = g.add('h')

    g.add_edge(vertex_a, vertex_b)
    g.add_edge(vertex_c, vertex_g)
    g.add_edge(vertex_b, vertex_c)
    g.add_edge(vertex_b, vertex_d)
    g.add_edge(vertex_e, vertex_d)
    g.add_edge(vertex_d, vertex_h)
    g.add_edge(vertex_f, vertex_h)
    g.add_edge(vertex_d, vertex_f)
    g.add_edge(vertex_d, vertex_a)

    actual = g.depth_first('f')

    assert actual == ['f', 'h', 'd', 'b', 'a', 'c', 'g', 'e']
Exemplo n.º 8
0
def test_route_one_one_stop():
    g = Graph()
    pandora_v = g.add('pandora')
    arendelle_v = g.add('arendelle')
    metroville_v = g.add('metroville')
    monstropolus_v = g.add('monstropolus')
    naboo_v = g.add('naboo')
    narnia_v = g.add('narnia')
    g.add_edge(pandora_v, arendelle_v, 150)
    g.add_edge(pandora_v, metroville_v, 82)
    g.add_edge(arendelle_v, metroville_v, 99)
    g.add_edge(arendelle_v, monstropolus_v, 42)
    g.add_edge(naboo_v, monstropolus_v, 73)
    g.add_edge(metroville_v, monstropolus_v, 105)
    g.add_edge(naboo_v, metroville_v, 26)
    g.add_edge(naboo_v, narnia_v, 250)
    g.add_edge(narnia_v, metroville_v, 37)
    actual = get_edges(g, ['naboo', 'metroville', 'arendelle'])
    expected = (True, 125)
    assert actual == expected
Exemplo n.º 9
0
def test_fail_one():
    g = Graph()
    pandora_v = g.add('pandora')
    arendelle_v = g.add('arendelle')
    metroville_v = g.add('metroville')
    monstropolus_v = g.add('monstropolus')
    naboo_v = g.add('naboo')
    narnia_v = g.add('narnia')
    g.add_edge(pandora_v, arendelle_v, 150)
    g.add_edge(pandora_v, metroville_v, 82)
    g.add_edge(arendelle_v, metroville_v, 99)
    g.add_edge(arendelle_v, monstropolus_v, 42)
    g.add_edge(naboo_v, monstropolus_v, 73)
    g.add_edge(metroville_v, monstropolus_v, 105)
    g.add_edge(naboo_v, metroville_v, 26)
    g.add_edge(naboo_v, narnia_v, 250)
    g.add_edge(narnia_v, metroville_v, 37)
    actual = get_edges(g, ['pandora', 'naboo', 'narnia', 'naboo'])
    expected = (False, 0)
    assert actual == expected
def test_one_node_one_edge():
    g = Graph()
    vertex_apple = g.add('apple')
    g.add_edge(vertex_apple, vertex_apple)
    assert g._graph['apple'] == [('apple', 1), ('apple', 1)]
def test_add_vertex():
    g = Graph()
    vertex = g.add('apple')
    assert 'apple' in g._graph
    assert vertex
    assert g._graph['apple'] == []