print('\t---MARK NODE ACTIVE TESTS---') init_tester.mark_node_active(1) init_tester.mark_node_active(1) init_tester.mark_node_active(6) print(init_tester) print('\t---MARK EDGE INACTIVE TESTS---') init_tester.mark_edge_inactive(1, 5) init_tester.mark_edge_inactive(1, 5) init_tester.mark_edge_inactive(3, 5) init_tester.mark_edge_inactive(1, 6) print(init_tester) print('\t---MARK EDGE ACTIVE TESTS---') init_tester.mark_edge_active(1, 5) init_tester.mark_edge_active(1, 5) init_tester.mark_node_inactive(3) init_tester.mark_edge_active(1, 3) init_tester.mark_edge_active(3, 5) print(init_tester) print('\t---BREAK CONNECTIVITY VIA STATUS---') init_tester.mark_edge_inactive(1, 2) init_tester.mark_edge_inactive(1, 5) print('\nDisconnected through inactive edges:') print('\tRecursive depth_first_search: ' + str(ConnectivityChecker.is_connected(init_tester))) print('\tIterative depth_first_search: ' + str(ConnectivityChecker.depth_first_search(init_tester)))
def test_mark_edge_active(): node1 = Node(1, adjacency_dict={2: {'weight': 3, 'status': False}}) node2 = Node(2, adjacency_dict={1: {'weight': 3, 'status': False}}) test_net = Network({1: node1, 2: node2}) # test existing, active nodes with shared, inactive edge test_net.mark_edge_active(node1.node_id, node2.node_id) assert node1.adjacency_dict[node2.node_id]['status'] assert node2.adjacency_dict[node1.node_id]['status'] assert len(node1.adjacency_dict) is 1 assert len(node2.adjacency_dict) is 1 assert len(test_net.network_dict) is 2 assert len(test_net.network_dict) is len(test_net.nodes()) # test existing, active nodes with shared, active edge test_net.mark_edge_active(node1.node_id, node2.node_id) assert node1.adjacency_dict[node2.node_id]['status'] assert node2.adjacency_dict[node1.node_id]['status'] assert len(node1.adjacency_dict) is 1 assert len(node2.adjacency_dict) is 1 assert len(test_net.network_dict) is 2 assert len(test_net.network_dict) is len(test_net.nodes()) # test existing, inactive node with shared, inactive edge test_net.mark_node_inactive(node1.node_id) test_net.mark_edge_active(node1.node_id, node2.node_id) assert not node1.adjacency_dict[node2.node_id]['status'] assert not node2.adjacency_dict[node1.node_id]['status'] assert len(node1.adjacency_dict) is 1 assert len(node2.adjacency_dict) is 1 assert len(test_net.network_dict) is 2 assert len(test_net.network_dict) is not len(test_net.nodes()) assert not node1.status assert node2.status # test existing nodes without shared edge test_net.add_node(Node(3)) test_net.mark_edge_active(node2.node_id, 3) test_net.mark_node_inactive(node1.node_id) test_net.mark_edge_active(node1.node_id, node2.node_id) assert not node1.adjacency_dict[node2.node_id]['status'] assert not node2.adjacency_dict[node1.node_id]['status'] assert len(node1.adjacency_dict) is 1 assert len(node2.adjacency_dict) is 1 assert len(test_net.network_dict) is 3 assert len(test_net.network_dict) is not len(test_net.nodes()) assert not node1.status assert node2.status # test node that doesn't exist test_net.mark_edge_active(node2.node_id, 4) test_net.add_node(Node(3)) test_net.mark_edge_active(node2.node_id, 3) test_net.mark_node_inactive(node1.node_id) test_net.mark_edge_active(node1.node_id, node2.node_id) assert not node1.adjacency_dict[node2.node_id]['status'] assert not node2.adjacency_dict[node1.node_id]['status'] assert len(node1.adjacency_dict) is 1 assert len(node2.adjacency_dict) is 1 assert len(test_net.network_dict) is 3 assert len(test_net.network_dict) is not len(test_net.nodes()) assert not node1.status assert node2.status