def test_directed_graph_remove_vertex(self): """ Remove vertices from a directed graph """ g = DirectedGraph() 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', 'v1'))) self.assertFalse(g.has_edge(('v1', 'v2')))
def test_directed_graph_add_edge(self): """ Add edges to a directed graph """ g = DirectedGraph() 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.assertFalse(g.has_edge(('v1', 'v0'))) self.assertEqual(e00.get('weight'), 5) self.assertEqual(e01.get('weight'), 7)