def test_add_edge_nodes(): ''' Adding an edge between non-existant edges should cause those nodes to be returned by .nodes(). ''' g = DirectedGraph() assert g.add_edge('a', 'b', 42) assert len(list(g.nodes())) == 2 assert 'a' in g.nodes() assert 'b' in g.nodes()
def test_add_nodes(): ''' Adding a node should cause that node to appear in the return value of .nodes(). ''' g = DirectedGraph() assert g.add_node('a') assert 'a' in g.nodes() assert len(list(g.nodes())) == 1 assert g.add_node('a') == False assert 'a' in g.nodes() assert len(list(g.nodes())) == 1 assert g.add_node('b') assert 'a' in g.nodes() assert 'b' in g.nodes() assert len(list(g.nodes())) == 2
def test_simple_integration(): ''' test a simple use case, retesting assumptions at each step. ''' g = DirectedGraph() assert g.add_node('a') assert g.contains('a') assert len(list(g.nodes())) == 1 assert 'a' in g.nodes() assert len(list(g.neighbors('a'))) == 0 assert g.add_node('b') assert g.contains('b') assert len(list(g.nodes())) == 2 assert 'a' in g.nodes() assert 'b' in g.nodes() assert len(list(g.neighbors('a'))) == 0 assert len(list(g.neighbors('b'))) == 0 assert g.add_node('c') assert g.contains('c') assert len(list(g.nodes())) == 3 assert 'a' in g.nodes() assert 'b' in g.nodes() assert 'c' in g.nodes() assert len(list(g.neighbors('a'))) == 0 assert len(list(g.neighbors('b'))) == 0 assert len(list(g.neighbors('c'))) == 0 g.add_edge('a', 'b') edges = list(g.edges()) assert len(edges) == 1 assert ('a', 'b', 1) in edges assert g.contains('a') assert g.contains('b') assert g.contains('c') assert len(list(g.nodes())) == 3 assert 'a' in g.nodes() assert 'b' in g.nodes() assert 'c' in g.nodes() assert len(list(g.neighbors('a'))) == 1 assert ('b', 1) in g.neighbors('a') assert len(list(g.neighbors('b'))) == 0 assert len(list(g.neighbors('c'))) == 0 g.add_edge('a', 'c') edges = list(g.edges()) assert len(edges) == 2 assert ('a', 'b', 1) in edges assert ('a', 'c', 1) in edges assert g.contains('a') assert g.contains('b') assert g.contains('c') assert len(list(g.nodes())) == 3 assert 'a' in g.nodes() assert 'b' in g.nodes() assert 'c' in g.nodes() assert len(list(g.neighbors('a'))) == 2 assert ('b', 1) in g.neighbors('a') assert ('c', 1) in g.neighbors('a') assert len(list(g.neighbors('b'))) == 0 assert len(list(g.neighbors('c'))) == 0 edges = list(g.edges()) assert ('a', 'b', 1) in edges assert ('a', 'c', 1) in edges