def test_get_neighbors_none():
    graph = Graph()
    a = graph.add_node('a')
    b = graph.add_node('b')
    c = graph.add_node('c')
    actual = graph.get_neighbors(a)
    assert actual == []
def test_get_neighbors():
    graph = Graph()
    a = graph.add_node('a')
    b = graph.add_node('b')
    c = graph.add_node('c')
    e_1 = graph.add_edge(a, b, 2)
    e_2 = graph.add_edge(a, c, 2)
    actual = graph.get_neighbors(a)
    assert actual == [e_1, e_2]
def test_get_neighbors_weight():
    graph = Graph()
    a = graph.add_node('a')
    b = graph.add_node('b')
    c = graph.add_node('c')
    e_1 = graph.add_edge(a, b, 3)
    e_2 = graph.add_edge(a, c, 4)
    neighbor_1 = graph.get_neighbors(a)[0]
    neighbor_2 = graph.get_neighbors(a)[1]
    assert neighbor_1.weight == 3 and neighbor_2.weight == 4
def test_one_node_one_edge():
    graph = Graph()
    a = graph.add_node('a')
    edge = graph.add_edge(a, a)
    actual = graph.get_neighbors(a)
    assert actual == [edge]