예제 #1
0
def test_breadth_first_example():
    """ Refer to the README Examples for visual aids.
    """
    g = Graph()
    pandora = g.add_node('Pandora')
    adrendelle = g.add_node('Arendelle')
    metroville = g.add_node('Metroville')
    monstroplolis = g.add_node('Monstroplolis')
    naboo = g.add_node('Naboo')
    narnia = g.add_node('Narnia')
    g.add_edge(pandora, adrendelle)
    g.add_edge(adrendelle, metroville)
    g.add_edge(adrendelle, monstroplolis)
    g.add_edge(adrendelle, pandora)
    g.add_edge(metroville, adrendelle)
    g.add_edge(metroville, monstroplolis)
    g.add_edge(metroville, narnia)
    g.add_edge(metroville, naboo)
    g.add_edge(monstroplolis, adrendelle)
    g.add_edge(monstroplolis, metroville)
    g.add_edge(monstroplolis, naboo)
    g.add_edge(naboo, narnia)
    g.add_edge(naboo, metroville)
    g.add_edge(naboo, monstroplolis)
    actual = g.breadth_first(pandora)
    expected = [
        'Pandora', 'Arendelle', 'Metroville', 'Monstroplolis', 'Narnia',
        'Naboo'
    ]
    assert actual == expected
예제 #2
0
def test_breadth_first_example_2_different_start():
    g = Graph()
    bob = g.add_node('Bob')
    tom = g.add_node('Tom')
    sam = g.add_node('Sam')
    joe = g.add_node('Joe')
    jon = g.add_node('Jon')
    g.add_edge(bob, tom)
    g.add_edge(tom, bob)
    g.add_edge(tom, jon)
    g.add_edge(tom, sam)
    g.add_edge(tom, joe)
    g.add_edge(jon, tom)
    g.add_edge(jon, sam)
    g.add_edge(sam, jon)
    g.add_edge(sam, tom)
    g.add_edge(sam, joe)
    g.add_edge(joe, sam)
    g.add_edge(joe, tom)
    actual = g.breadth_first(tom)
    expected = ['Tom', 'Bob', 'Jon', 'Sam', 'Joe']
    assert actual == expected
예제 #3
0
def test_breadth_first_example_2():
    """ Refer to the README Examples for visual aids.
    """
    g = Graph()
    bob = g.add_node('Bob')
    tom = g.add_node('Tom')
    sam = g.add_node('Sam')
    joe = g.add_node('Joe')
    jon = g.add_node('Jon')
    g.add_edge(bob, tom)
    g.add_edge(tom, bob)
    g.add_edge(tom, jon)
    g.add_edge(tom, sam)
    g.add_edge(tom, joe)
    g.add_edge(jon, tom)
    g.add_edge(jon, sam)
    g.add_edge(sam, jon)
    g.add_edge(sam, tom)
    g.add_edge(sam, joe)
    g.add_edge(joe, sam)
    g.add_edge(joe, tom)
    actual = g.breadth_first(bob)
    expected = ['Bob', 'Tom', 'Jon', 'Sam', 'Joe']
    assert actual == expected