def test_create_directed_graph(self):
        """Create a graph."""
        graph = Graph(is_directed=True)
        graph.add_vertex('A')
        graph.add_vertex('B')
        graph.add_vertex('C')
        graph.add_edge('A', 'B')
        graph.add_edge('A', 'C')
        graph.add_edge('B', 'C')

        self.assertEqual(len(graph.get_vertices()), 3)

        self.assertEqual(len(graph.get_neighbors('A')), 2)
        self.assertEqual(len(graph.get_neighbors('B')), 1)
        self.assertEqual(len(graph.get_neighbors('C')), 0)
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.º 3
0
def test_get_neighbors():

    graph = Graph()

    banana = graph.add_node('banana')

    apple = graph.add_node('apple')

    graph.add_edge(apple, banana, 44)

    neighbors = graph.get_neighbors(apple)

    assert len(neighbors) == 1

    neighbor_edge = neighbors[0]

    assert neighbor_edge.vertex.value == 'banana'

    assert neighbor_edge.weight == 44