def test_directed_graph_add_vertex(self): """ Add vertices to a directed graph """ g = DirectedGraph() v0_val = g.add_vertex(v_val='v0', attrs={'city': 'Modena'}) v1_val = g.add_vertex(v_val='v1') self.assertEqual(v0_val, 'v0') self.assertEqual(v1_val, 'v1') self.assertTrue(g.has_vertex('v0')) self.assertTrue(g.has_vertex('v1')) self.assertFalse(g.has_vertex('v2')) self.assertEqual(g.get_vertex('v0').get('city'), 'Modena') self.assertIsNone(g.get_vertex('v1').get('city'))
def test_directed_graph_vertices_and_edges(self): """ Get directed graphs' vertices and edges properties """ g = DirectedGraph() g.add_vertex(v_val='v0') g.add_vertex(v_val='v1') g.add_edge(('v0', 'v1')) v0 = g.get_vertex('v0') v1 = g.get_vertex('v1') e01 = g.get_edge(('v0', 'v1')) self.assertEqual(set(g.vertices), set([v0, v1])) self.assertEqual(set(g.edges), set([e01])) with self.assertRaises(AttributeError): g.vertices = set() with self.assertRaises(AttributeError): g.edges = set()