示例#1
0
    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)])
示例#2
0
    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)