def test_edges(self): g = Graph() v1, v2, v3 = g.add_vertices(3) g.add_edge((v1, v2)) self.assertEqual(g.num_edges(), 1) self.assertTrue(g.connected(v1, v2)) self.assertTrue(v2 in g.neighbours(v1)) self.assertEqual(g.vertex_degree(v1), 1) self.assertFalse(g.connected(v1, v3)) e = g.edge(v1, v2) self.assertEqual(g.edge_type(e), 1) g.set_edge_type(e, 2) self.assertEqual(g.edge_type(e), 2) g.remove_edge(e) self.assertEqual(g.num_edges(), 0) self.assertFalse(g.connected(v1, v2))
def test_copy(self): g = Graph() v1, v2 = g.add_vertices(2) g.add_edge((v1, v2), 2) g2 = g.copy() self.assertEqual(g.num_vertices(), g2.num_vertices()) self.assertEqual(g.num_edges(), g2.num_edges()) v1, v2 = list(g2.vertices()) self.assertEqual(g.edge_type(g.edge(v1, v2)), 2)
def test_empty_graph(self): g = Graph() self.assertEqual(g.num_vertices(), 0) self.assertEqual(g.num_edges(), 0)