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)
def test_undirected_graph_vertices_and_edges(self): """ Get undirected graphs' vertices and edges properties """ g = UndirectedGraph() 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()