def make_weighted_graph(make_nodes): nodes = make_nodes[:6] g = Graph(nodes) g.add_edges(nodes[0], nodes[1], 7) g.add_edges(nodes[0], nodes[2], 9) g.add_edges(nodes[0], nodes[5], 14) g.add_edges(nodes[1], nodes[2], 10) g.add_edges(nodes[1], nodes[3], 15) g.add_edges(nodes[2], nodes[3], 11) g.add_edges(nodes[2], nodes[5], 2) g.add_edges(nodes[3], nodes[4], 6) g.add_edges(nodes[4], nodes[5], 9) return g
def test_adjacent(): _graph = Graph() _node1 = Node(4) _node2 = Node(5) _node3 = Node(6) _node4 = Node(7) _graph.add_edges(_node1, _node2, 1) _graph.add_edges(_node3, _node4, 1) _graph.add_edges(_node2, _node4, 1) assert _graph.adjacent(_node1, _node2) == True assert _graph.adjacent(_node3, _node4) == True assert _graph.adjacent(_node2, _node4) == True assert _graph.adjacent(_node1, _node4) == False
def make_graph(make_nodes): nodes = make_nodes g = Graph(nodes) g.add_edges(nodes[0], nodes[1], 1) g.add_edges(nodes[0], nodes[6], 1) g.add_edges(nodes[0], nodes[7], 1) g.add_edges(nodes[1], nodes[2], 1) g.add_edges(nodes[1], nodes[5], 1) g.add_edges(nodes[2], nodes[3], 1) g.add_edges(nodes[2], nodes[4], 1) g.add_edges(nodes[7], nodes[8], 1) g.add_edges(nodes[8], nodes[9], 1) return g
def test_del_edge(): _graph = Graph() _node1 = Node(4) _node2 = Node(5) _node3 = Node(6) _node4 = Node(7) _graph.add_edges(_node1, _node2, 1) _graph.add_edges(_node3, _node4, 1) _graph.add_edges(_node2, _node4, 1) _graph.del_edge(_node2, _node4) assert _graph.graph == { 'n0': { 'n1': 1 }, 'n1': { 'n0': 1 }, 'n2': { 'n3': 1 }, 'n3': { 'n2': 1 } } assert _graph.graph == { 'n0': { 'n1': 1 }, 'n1': { 'n0': 1 }, 'n2': { 'n3': 1 }, 'n3': { 'n2': 1 } }
def test_neighbours(): _graph = Graph() _node1 = Node(4) _node2 = Node(5) _node3 = Node(6) _node4 = Node(7) _graph.add_edges(_node1, _node2, 1) _graph.add_edges(_node3, _node4, 1) _graph.add_edges(_node2, _node4, 1) _graph.add_edges(_node1, _node2, 2) _graph.add_edges(_node3, _node4, 2) _graph.add_edges(_node2, _node4, 2) assert _graph.neighbours(_node2) == ['n0', 'n3']
def test_add_edge(): graph = Graph() graph.add_edges(Node(4), Node(5), 1) assert graph.graph == {'n0': {'n1': 1}, 'n1': {'n0': 1}}