示例#1
0
    def test_get_edge_value_in_directed_graph(self):
        g = Graph(True)
        g.add_edge((1,2,3))

        self.assertEqual(g.get_edge_value((1,2)), 3,
                'should have stored value')
        self.assertIsNone(g.get_edge_value((2,1)),
                'should have no value for reverse edge')
示例#2
0
    def test_get_edge_value_in_directed_graph(self):
        g = Graph(True)
        g.add_edge((1, 2, 3))

        self.assertEqual(g.get_edge_value((1, 2)), 3,
                         'should have stored value')
        self.assertIsNone(g.get_edge_value((2, 1)),
                          'should have no value for reverse edge')
示例#3
0
    def test_clone(self):
        g1 = Graph(False)
        g1.add_edge((1,2,10))
        g1.add_edge((2,3,20))
        g1.add_edge((3,1,30))

        g2 = g1.clone()
        g2.set_edge_value((1,2), 100)
        self.assertEqual(g1.get_edge_value((1,2)), 10,
                'should not have modified the value of the edge in g1')

        g2.add_vertex((3,4,40))
        self.assertFalse(g1.adjacent(3,4), 'g1 should not have vertex 4')
示例#4
0
    def test_clone(self):
        g1 = Graph(False)
        g1.add_edge((1, 2, 10))
        g1.add_edge((2, 3, 20))
        g1.add_edge((3, 1, 30))

        g2 = g1.clone()
        g2.set_edge_value((1, 2), 100)
        self.assertEqual(
            g1.get_edge_value((1, 2)), 10,
            'should not have modified the value of the edge in g1')

        g2.add_vertex((3, 4, 40))
        self.assertFalse(g1.adjacent(3, 4), 'g1 should not have vertex 4')