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')))
def test_undirected_graph_length(self): """ Get the length of an undirected graph """ g = UndirectedGraph() self.assertEqual(len(g), 0) g.add_vertex(v_val='v0') self.assertEqual(len(g), 1) g.add_vertex(v_val='v1') g.add_edge(('v0', 'v1')) self.assertEqual(len(g), 2) g.remove_vertex('v0') self.assertEqual(len(g), 1)