def test_create_random_undirected_graph(self): """ Create an undirected graph with edges between random nodes """ num_vertices = 10 v_vals = ['v' + str(i) for i in xrange(num_vertices)] g_half = UndirectedGraph.random_graph(v_vals, 0.5) g_zero = UndirectedGraph.random_graph(v_vals, 0.0) g_one = UndirectedGraph.random_graph(v_vals, 1.0) max_edges = n_choose_2(num_vertices) self.assertEqual(g_half.num_vertices, num_vertices) self.assertEqual(g_zero.num_vertices, num_vertices) self.assertEqual(g_one.num_vertices, num_vertices) self.assertTrue(0 < g_half.num_edges < max_edges) self.assertEqual(g_zero.num_edges, 0) self.assertEqual(g_one.num_edges, max_edges)