Exemple #1
0
 def test_RemoveVertex(self):
     graph = SimpleGraph(5)
     self.addVertexes(graph, [0, 1, 2])
     graph.AddEdge(0, 1)
     graph.AddEdge(0, 2)
     graph.RemoveVertex(0)
     self.checkVertexAdjacency(graph, 0, [0] * 5)
Exemple #2
0
 def test_AddVertexEmpty(self):
     graph = SimpleGraph(5)
     result = graph.AddVertex(0)
     self.assertTrue(result)
     self.assertTrue(isinstance(graph.vertex[0], Vertex))
     self.assertTrue(graph.vertex[0].Value == 0)
     self.checkVertexAdjacency(graph, 0, [0] * 5)
Exemple #3
0
 def test_RemoveEdge(self):
     graph = SimpleGraph(5)
     self.addVertexes(graph, [0, 1])
     graph.AddEdge(0, 1)
     self.checkEdge(graph, 0, 1, 1)
     graph.RemoveEdge(1, 0)
     self.checkEdge(graph, 0, 1, 0)
Exemple #4
0
 def test_BreadthFirstSearchThreeVertexWithTwoEdges(self):
     graph = SimpleGraph(5)
     self.addVertexes(graph, [0, 1, 2])
     graph.AddEdge(0, 1)
     graph.AddEdge(1, 2)
     result = graph.BreadthFirstSearch(0, 2)
     self.assertTrue(result == [graph.vertex[0], graph.vertex[1], graph.vertex[2]], result)
Exemple #5
0
 def test_AddEdge(self):
     graph = SimpleGraph(5)
     graph.AddVertex(0)
     graph.AddVertex(1)
     self.checkEdge(graph, 0, 1, 0)
     graph.AddEdge(0, 1)
     self.checkEdge(graph, 0, 1, 1)
Exemple #6
0
 def test_AddVertex(self):
     graph = SimpleGraph(5)
     graph.AddVertex(0)
     result = graph.AddVertex(1)
     self.assertTrue(result)
     self.assertTrue(isinstance(graph.vertex[1], Vertex))
     self.assertTrue(graph.vertex[1].Value == 1)
     self.checkVertexAdjacency(graph, 1, [0] * 5)
Exemple #7
0
 def test_BreadthFirstSearchWithDifferentPaths(self):
     graph = SimpleGraph(5)
     self.addVertexes(graph, [0, 1, 2, 3, 4])
     graph.AddEdge(0, 1)
     graph.AddEdge(1, 2)
     graph.AddEdge(2, 3)
     graph.AddEdge(3, 4)
     graph.AddEdge(4, 0)
     result = graph.BreadthFirstSearch(0, 2)
     self.assertTrue(result == [graph.vertex[0], graph.vertex[1], graph.vertex[2]], result)
Exemple #8
0
 def test_DepthFirstSearchTwoVertexWithEdge(self):
     graph = SimpleGraph(5)
     self.addVertexes(graph, [0, 1])
     graph.AddEdge(0, 1)
     result = graph.DepthFirstSearch(0, 1)
     self.assertTrue(result == [graph.vertex[0], graph.vertex[1]], result)
Exemple #9
0
 def test_DepthFirstSearchTwoVertexWithoutEdge(self):
     graph = SimpleGraph(5)
     self.addVertexes(graph, [0, 1])
     result = graph.DepthFirstSearch(0, 1)
     self.assertTrue(result == [], result)
Exemple #10
0
 def test_DepthFirstSearchSingleVertexWithEdge(self):
     graph = SimpleGraph(5)
     graph.AddVertex(0)
     graph.AddEdge(0, 0)
     result = graph.DepthFirstSearch(0, 0)
     self.assertTrue(result == [graph.vertex[0], graph.vertex[0]], result)
Exemple #11
0
 def test_AddVertexFull(self):
     graph = SimpleGraph(2)
     graph.AddVertex(0)
     graph.AddVertex(1)
     result = graph.AddVertex(2)
     self.assertFalse(result)
Exemple #12
0
 def test_BreadthFirstSearchThreeVertexWithoutEdge(self):
     graph = SimpleGraph(5)
     self.addVertexes(graph, [0, 1, 2])
     graph.AddEdge(0, 1)
     result = graph.BreadthFirstSearch(0, 2)
     self.assertTrue(result == [], result)
Exemple #13
0
 def test_BreadthFirstSearchSingleVertexWithoutEdge(self):
     graph = SimpleGraph(5)
     graph.AddVertex(0)
     result = graph.BreadthFirstSearch(0, 0)
     self.assertTrue(result == [], result)