def test_breadth_first_1(): graph = Graph() node_1 = graph.add_node('1') actual = graph.breadth_first(node_1) expected = [node_1] assert actual == expected
def test_breadth_first(): g = Graph() pandora = g.add_node("Pandora") arendelle = g.add_node("Arendelle") metroville = g.add_node("Metroville") monstropolis = g.add_node("Monstropolis") narnia = g.add_node("Narnia") naboo = g.add_node("Naboo") g.add_edge(pandora, arendelle) g.add_edge(arendelle, pandora) g.add_edge(arendelle, metroville) g.add_edge(metroville, arendelle) g.add_edge(arendelle, monstropolis) g.add_edge(monstropolis, arendelle) g.add_edge(metroville, monstropolis) g.add_edge(monstropolis, metroville) g.add_edge(metroville, narnia) g.add_edge(narnia, metroville) g.add_edge(metroville, naboo) g.add_edge(naboo, metroville) g.add_edge(narnia, naboo) g.add_edge(naboo, narnia) values = [] g.breadth_first(pandora, lambda v: values.append(v.value)) assert values == [ "Pandora", "Arendelle", "Metroville", "Monstropolis", "Narnia", "Naboo" ]
def test_breadth_unOrdered(): g = Graph() a = g.add_node('a') b = g.add_node('b') c = g.add_node('c') d = g.add_node('d') g.add_edge(a, b) g.add_edge(b, c) g.add_edge(a, d) breadth = g.breadth_first(a) expected = ['a', 'b', 'd', 'c'] assert expected == breadth
def test_breadth_first_2(): graph = Graph() node_1 = graph.add_node('1') node_2 = graph.add_node('10') node_3 = graph.add_node('20') node_4 = graph.add_node('100') graph.add_edge(node_1 , node_2 , 0) graph.add_edge(node_1 , node_3 , 1) graph.add_edge(node_3 , node_4 , 1) actual = graph.breadth_first(node_1) expected = [node_1,node_2,node_3,node_4] assert actual == expected
def test_breadth_b(): g = Graph() a = g.add_node('a') b = g.add_node('b') c = g.add_node('c') d = g.add_node('d') e = g.add_node('e') g.add_edge(b, a) g.add_edge(b, d) g.add_edge(b, e) g.add_edge(a, c) g.add_edge(e, a) breadth = g.breadth_first(b) expected = ['b', 'a', 'd', 'e', 'c'] assert expected == breadth
def test_breadth_first(): graph2 = Graph() graph2.add_vertex('E') graph2.add_vertex('F') graph2.add_vertex('G') graph2.add_vertex('H') graph2.add_vertex('I') graph2.add_vertex('J') graph2.add_edge('E', 'F', 7) graph2.add_edge('E', 'G', 8) graph2.add_edge('G', 'H', 9) graph2.add_edge('G', 'I', 10) graph2.add_edge('H', 'J', 11) graph2.add_edge('I', 'J', 12) actual = graph2.breadth_first('E') expected = ['E', 'F', 'G', 'H', 'I', 'J'] assert actual == expected
def test_breadth_first_empty_graph(): graph = Graph() spam = Vertex("spam") with pytest.raises(ValueError): vertices_lst = graph.breadth_first(spam)