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