def testRemoveVertex(self): graph = DictGraph() graph.addEdge(0, 1) graph.addEdge(0, 2) graph.addEdge(0, 3) graph.addEdge(1, 2) graph.addEdge(2, 3) graph.addEdge(3, 4) graph.removeVertex(4) self.assertFalse(graph.vertexExists(4)) self.assertFalse(graph.edgeExists(3, 4)) graph.removeVertex(3) self.assertFalse(graph.vertexExists(3)) self.assertFalse(graph.edgeExists(2, 3)) self.assertFalse(graph.edgeExists(0, 3)) graph.removeVertex(2) self.assertFalse(graph.vertexExists(2)) self.assertFalse(graph.edgeExists(1, 2)) self.assertFalse(graph.edgeExists(0, 2)) self.assertTrue(graph.getAllVertexIds() == [0, 1]) self.assertTrue(graph.getAllEdges() == [(0, 1)]) #Try directed graph graph = DictGraph(False) graph.addEdge(0, 1) graph.addEdge(1, 0) graph.addEdge(0, 3) graph.addEdge(1, 2) graph.addEdge(2, 3) graph.addEdge(3, 4) graph.removeVertex(0) self.assertFalse(graph.vertexExists(0)) self.assertFalse(graph.edgeExists(0, 1)) self.assertFalse(graph.edgeExists(0, 3)) self.assertFalse(graph.edgeExists(1, 0)) graph.removeVertex(2) self.assertFalse(graph.vertexExists(2)) self.assertFalse(graph.edgeExists(1, 2)) self.assertFalse(graph.edgeExists(2, 3)) self.assertTrue(graph.getAllVertexIds() == [1, 3, 4]) self.assertTrue(graph.getAllEdges() == [(3, 4)])
def testGetAllEdges(self): dictGraph = DictGraph(True) dictGraph.setVertex(5, 12) dictGraph.addEdge(1, 2, 12) dictGraph.addEdge(1, 3, 18) edges = dictGraph.getAllEdges() self.assertEquals(len(edges), 2) self.assertTrue((1,2) in edges) self.assertTrue((1,3) in edges) dictGraph = DictGraph(False) dictGraph.setVertex(5, 12) dictGraph.addEdge(1, 2, 12) dictGraph.addEdge(2, 1, 12) dictGraph.addEdge(1, 3, 18) edges = dictGraph.getAllEdges() self.assertEquals(len(edges), 3) self.assertTrue((1,2) in edges) self.assertTrue((2,1) in edges) self.assertTrue((1,3) in edges)