def test_graph_single_edge(self): G = nx.Graph() G.add_edge(0, 1) assert nx.is_edge_cover(G, {(0, 0), (1, 1)}) assert nx.is_edge_cover(G, {(0, 1), (1, 0)}) assert nx.is_edge_cover(G, {(0, 1)}) assert not nx.is_edge_cover(G, {(0, 0)})
def test_graph_single_edge(self): G = nx.Graph() G.add_edge(0, 1) assert_true(nx.is_edge_cover(G, {(0, 0), (1, 1)})) assert_true(nx.is_edge_cover(G, {(0, 1), (1, 0)})) assert_true(nx.is_edge_cover(G, {(0, 1)})) assert_false(nx.is_edge_cover(G, {(0, 0)}))
def test_bipartite_explicit(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(["a", "b", "c"], bipartite=1) G.add_edges_from([(1, "a"), (1, "b"), (2, "b"), (2, "c"), (3, "c"), (4, "a")]) min_cover = bipartite.min_edge_cover(G, bipartite.eppstein_matching) assert nx.is_edge_cover(G, min_cover) assert len(min_cover) == 8
def test_bipartite_default(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(['a', 'b', 'c'], bipartite=1) G.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')]) min_cover = bipartite.min_edge_cover(G) assert nx.is_edge_cover(G, min_cover) assert len(min_cover) == 8
def test_bipartite_default(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(['a', 'b', 'c'], bipartite=1) G.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')]) min_cover = bipartite.min_edge_cover(G) assert_true(nx.is_edge_cover(G, min_cover)) assert_equal(len(min_cover), 8)
def test_bipartite_explicit(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(['a', 'b', 'c'], bipartite=1) G.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')]) min_cover = bipartite.min_edge_cover(G, bipartite.eppstein_matching) assert_true(nx.is_edge_cover(G, min_cover)) assert_equal(len(min_cover), 8)
def test_bipartite_explicit(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(['a', 'b', 'c'], bipartite=1) G.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')]) min_cover = nx.min_edge_cover(G, nx.algorithms.bipartite.matching. eppstein_matching) assert_true(nx.is_edge_cover(G, min_cover)) assert_equal(len(min_cover), 8)
def test_bipartite_explicit(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(['a', 'b', 'c'], bipartite=1) G.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')]) min_cover = nx.min_edge_cover( G, nx.algorithms.bipartite.matching.eppstein_matching) min_cover2 = nx.min_edge_cover(G) assert nx.is_edge_cover(G, min_cover) assert len(min_cover) == 8
def test_complete_graph(self): G = nx.complete_graph(10) min_cover = nx.min_edge_cover(G) assert_true(nx.is_edge_cover(G, min_cover)) assert_equal(len(min_cover), 5)
def test_graph_with_loop(self): G = nx.Graph() G.add_edge(1, 1) assert_true(nx.is_edge_cover(G, {(1, 1)}))
def test_empty_graph(self): G = nx.Graph() assert_true(nx.is_edge_cover(G, set()))
total_weight = df["Match Score"].sum() for idx, row in df.iterrows(): if row["From"] != row["To"]: G.add_edge( row["From"], row["To"], weight=(row["Match Score"] / total_weight if total_weight else 1.0 / len(df))) edges = list( sorted(G.edges(data=True), key=lambda t: t[2].get('weight', 1))) test = set() while not nx.is_edge_cover(G, test): subject = edges[len(test)] test.add((subject[0], subject[1])) out.append({ "Metric": metric, "Sample": sample, "Sorted Cover Size": len(test), }) outfile = kn.pack({ 'title': kn.unpack(dataframe_filename)['title'] + "-stats", 'bitweight': kn.unpack(dataframe_filename)['bitweight'], 'seed':
def test_complete_graph(self): G = nx.complete_graph(10) min_cover = nx.min_edge_cover(G) assert nx.is_edge_cover(G, min_cover) assert len(min_cover) == 5