Ejemplo n.º 1
0
    def test_undirected_graph_remove_vertex(self):
        """ Remove vertices from an undirected graph """
        g = UndirectedGraph()
        g.add_vertex(v_val='v0')
        g.add_vertex(v_val='v1')
        g.add_vertex(v_val='v2')
        g.add_edge(('v0', 'v1'))
        g.add_edge(('v1', 'v2'))

        g.remove_vertex('v0')

        self.assertFalse(g.has_vertex('v0'))
        self.assertTrue(g.has_vertex('v1'))
        self.assertTrue(g.has_vertex('v2'))
        self.assertFalse(g.has_edge(('v0', 'v1')))
        self.assertFalse(g.has_edge(('v1', 'v0')))
        self.assertTrue(g.has_edge(('v1', 'v2')))

        g.remove_vertex('v1')

        self.assertFalse(g.has_vertex('v0'))
        self.assertFalse(g.has_vertex('v1'))
        self.assertTrue(g.has_vertex('v2'))
        self.assertFalse(g.has_edge(('v0', 'v1')))
        self.assertFalse(g.has_edge(('v1', 'v0')))
        self.assertFalse(g.has_edge(('v1', 'v2')))
Ejemplo n.º 2
0
    def test_undirected_graph_add_edge(self):
        """ Add edges to an undirected graph """
        g = UndirectedGraph()
        g.add_vertex(v_val='v0')
        g.add_vertex(v_val='v1')
        g.add_edge(('v0', 'v0'), attrs={'weight': 5})
        g.add_edge(('v0', 'v1'), attrs={'weight': 7})

        e00 = g.get_edge(('v0', 'v0'))
        e01 = g.get_edge(('v0', 'v1'))
        self.assertTrue(g.has_edge(('v0', 'v0')))
        self.assertTrue(g.has_edge(('v0', 'v1')))
        self.assertFalse(g.has_edge(('v0', 'v2')))
        self.assertTrue(g.has_edge(('v1', 'v0')))
        self.assertEqual(e00.get('weight'), 5)
        self.assertEqual(e01.get('weight'), 7)