def test_get_neighbors():
    graph = Graph()
    shoe = graph.add_node('shoe')
    boot = graph.add_node('boot')
    graph.add_edge(shoe, boot, 6)
    neighbors = graph.get_neighbors(shoe)
    expected = (boot, 6)
    assert len(neighbors) == 1
    assert neighbors[0][0].value == 'boot'
    assert isinstance(neighbors[0][0], Vertex)
    assert neighbors[0][1] == 6
def test_get_many_neighbors():
    graph = Graph()
    shoe = graph.add_node('shoe')
    boot = graph.add_node('boot')
    sandal = graph.add_node('sandal')
    flipflop = graph.add_node('flipflop')
    graph.add_edge(shoe, boot, 6)
    graph.add_edge(shoe, sandal, 5)
    graph.add_edge(shoe, flipflop, 12)
    graph.add_edge(boot, sandal, 5)
    neighbors = graph.get_neighbors(shoe)
    expected = [boot, 6, flipflop, 12, sandal, 5]
    assert len(neighbors) == 3
    assert neighbors[0][0].value == 'boot'
    assert neighbors[1][0].value == 'sandal'
    assert neighbors[2][0].value == 'flipflop'
    assert isinstance(neighbors[0][0], Vertex)
    assert neighbors[0][1] == 6
    assert neighbors[1][1] == 5
    assert neighbors[2][1] == 12