def test_dimensionality(self): # checks |MCB|=|E|-|V|+|NC| ntrial = 10 for _ in range(ntrial): rg = nx.erdos_renyi_graph(10, 0.3) nnodes = rg.number_of_nodes() nedges = rg.number_of_edges() ncomp = nx.number_connected_components(rg) dim_mcb = len(minimum_cycle_basis(rg)) assert_equal(dim_mcb, nedges - nnodes + ncomp)
def test_tree_graph(self): tg = nx.balanced_tree(3, 3) assert_false(minimum_cycle_basis(tg))
def test_complete_graph(self): cg = nx.complete_graph(5) mcb = minimum_cycle_basis(cg) assert_true(all([len(cycle) == 3 for cycle in mcb]))
def test_weighted_diamond(self): mcb = minimum_cycle_basis(self.diamond_graph, weight='weight') assert_basis_equal(mcb, [[1, 2, 4], [1, 2, 3, 4]])
def test_weighted_diamond(self): mcb = minimum_cycle_basis(self.diamond_graph, weight="weight") assert_basis_equal([sorted(c) for c in mcb], [[1, 2, 4], [1, 2, 3, 4]])