def test_verticesAndEdgeInsertion(self): graph = Graph() self.assertEqual(len(graph.vertices),0) self.assertEqual(len(graph.edges),0) graph.add_node(4) self.assertIn(4, graph.vertices) # self.assertNotIn(4,graph.edges) graph.add_edge(4,5,weight=30) self.assertTrue(graph.has_edge(5,4)) self.assertTrue(graph.has_node(4)) self.assertTrue(graph.has_node(5)) self.assertFalse(graph.has_node(100)) self.assertIn(5,graph.vertices) self.assertIn(4, graph.vertices) self.assertIn(4,graph.edges) self.assertIn(5,graph.edges) self.assertNotIn(100, graph.vertices) self.assertNotIn(100,graph.edges) self.assertEqual(graph[4][5], 30) self.assertEqual(graph[4][5],graph[5][4]) # self.assertEqual(graph.vertices.count(4), 1) self.assertEqual(graph.size(),2) self.assertIsInstance(graph[5],dict) self.assertIsInstance(graph[4],dict) graph.add_edge(6,4,weight=29) self.assertTrue(graph.has_edge(4,6)) self.assertTrue(graph.has_node(6)) self.assertIn(6,graph.vertices) self.assertIn(6,graph.edges) self.assertEqual(graph[4][6], 29) self.assertEqual(graph[4][6],graph[6][4]) # self.assertEqual(graph.vertices.count(4), 1) graph.add_node(6) # inserting again # self.assertEqual(graph.vertices.count(6), 1) self.assertFalse(graph.has_edge(4,7)) self.assertEqual(graph.weight(4,7),float("inf")) self.assertEqual(graph.weight(4,4),0) self.assertEqual(graph.degree(4),2) self.assertEqual(graph.degree(5),1) self.assertEqual(graph.degree(6),1) graph.add_edge(150, 134, weight=9) self.assertEqual(graph[150][134], 9) self.assertEqual(graph.weight(134,150), 9)
def test_TheSameVerticesInsertion(self): graph = Graph() self.assertEqual(len(graph.vertices),0) self.assertEqual(len(graph.edges),0) graph.add_edge(5,5, weight=1) self.assertEqual(len(graph.vertices),0) self.assertEqual(len(graph.edges),0) self.assertFalse(graph.has_node(5)) self.assertFalse(graph.has_edge(5,5))
def test_instanceVerticesEmpty(self): graph = Graph() self.assertIsInstance(graph,Graph) self.assertIsInstance(graph.vertices,_VerticeView) self.assertEqual(len(graph.vertices),0) self.assertIsInstance(graph.edges,defaultdict) self.assertEqual(len(graph.edges),0) self.assertFalse(graph.has_node(10)) self.assertFalse(graph.has_edge(30,45)) self.assertEqual(graph.weight(40, 40), float("inf")) self.assertEqual(graph.weight(5,20),float("inf"))