def test_get_neighbors_45():
    g = Graph()
    pv = g.add_node("Pandora")
    av = g.add_node("Arendelle")
    mv = g.add_node("Metroville")
    mov = g.add_node("Monstropolis")
    nv = g.add_node("Naboo")
    narv = g.add_node("Narnia")

    g.add_edge(pv, av, 150)
    g.add_edge(pv, mv, 82)
    g.add_edge(av, mov, 42)
    g.add_edge(av, mv, 99)
    g.add_edge(mv, mov, 105)
    g.add_edge(mv, narv, 37)
    g.add_edge(mv, nv, 26)
    g.add_edge(nv, mov, 73)
    g.add_edge(nv, narv, 250)

    neighbors = g.get_neighbors(pv)

    assert len(neighbors) == 2
    se = neighbors[0]
    me = neighbors[1]

    assert se.vertex.value == "Arendelle"
    assert me.vertex.value == "Metroville"

    assert se.weight == 150
    assert me.weight == 82
def test_get_neighbors():
    graph = Graph()
    eggs = graph.add_node('eggs')
    chicken = graph.add_node('chicken')
    graph.add_edge(eggs, chicken, 10)
    neighbors = graph.get_neighbors(eggs)
    assert chicken in neighbors
def test_graph_get_neighbors():
    grappy = Graph()
    vert_1 = grappy.add_vertex('A')
    vert_2 = grappy.add_vertex('B')
    grappy.add_edge(vert_1, vert_2)
    actual = grappy.get_neighbors(vert_1)
    expected = [(vert_2, 1)]
    assert actual == expected
def test_get_neighbors_none():

    graph = Graph()

    banana = graph.add_node("banana")

    neighbors = graph.get_neighbors(banana)

    assert len(neighbors) == 0
def test_get_n_solo():
    g = Graph()
    sv = g.add_node("spam")
    g.add_edge(sv, sv)

    neighbors = g.get_neighbors(sv)

    assert len(neighbors) == 1
    se = neighbors[0]

    assert se.vertex.value == "spam"
    assert se.weight == 0
def test_get_neighbors():
    g = Graph()
    sv = g.add_node("spam")
    ev = g.add_node("eggs")
    g.add_edge(sv, ev, 5)
    neighbors = g.get_neighbors(sv)

    assert len(neighbors) == 1
    se = neighbors[0]

    assert se.vertex.value == "eggs"
    assert se.weight == 5
def test_get_neighbors_returns_edges_with_custom_weight():

    graph = Graph()

    banana = graph.add_node("banana")

    apple = graph.add_node("apple")

    graph.add_edge(apple, banana, 44)

    neighbors = graph.get_neighbors(apple)

    neighbor_edge = neighbors[0]

    assert neighbor_edge.weight == 44
def test_get_neighbors_returns_edges_with_default_weight():

    graph = Graph()

    banana = graph.add_node("banana")

    apple = graph.add_node("apple")

    graph.add_edge(apple, banana)

    neighbors = graph.get_neighbors(apple)

    actual = neighbors[0].weight

    expected = 0

    assert actual == expected
def test_get_neighbors_returns_edges():

    graph = Graph()

    banana = graph.add_node("banana")

    apple = graph.add_node("apple")

    graph.add_edge(apple, banana)

    neighbors = graph.get_neighbors(apple)

    assert len(neighbors) == 1

    neighbor = neighbors[0]

    assert isinstance(neighbor, Edge)

    assert neighbor.vertex.value == 'banana'