aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_extendability.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_extendability.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_extendability.py')
-rw-r--r--.venv/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_extendability.py334
1 files changed, 334 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_extendability.py b/.venv/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_extendability.py
new file mode 100644
index 00000000..17b71243
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/networkx/algorithms/bipartite/tests/test_extendability.py
@@ -0,0 +1,334 @@
+import pytest
+
+import networkx as nx
+
+
+def test_selfloops_raises():
+ G = nx.ladder_graph(3)
+ G.add_edge(0, 0)
+ with pytest.raises(nx.NetworkXError, match=".*not bipartite"):
+ nx.bipartite.maximal_extendability(G)
+
+
+def test_disconnected_raises():
+ G = nx.ladder_graph(3)
+ G.add_node("a")
+ with pytest.raises(nx.NetworkXError, match=".*not connected"):
+ nx.bipartite.maximal_extendability(G)
+
+
+def test_not_bipartite_raises():
+ G = nx.complete_graph(5)
+ with pytest.raises(nx.NetworkXError, match=".*not bipartite"):
+ nx.bipartite.maximal_extendability(G)
+
+
+def test_no_perfect_matching_raises():
+ G = nx.Graph([(0, 1), (0, 2)])
+ with pytest.raises(nx.NetworkXError, match=".*not contain a perfect matching"):
+ nx.bipartite.maximal_extendability(G)
+
+
+def test_residual_graph_not_strongly_connected_raises():
+ G = nx.Graph([(1, 2), (2, 3), (3, 4)])
+ with pytest.raises(
+ nx.NetworkXError, match="The residual graph of G is not strongly connected"
+ ):
+ nx.bipartite.maximal_extendability(G)
+
+
+def test_ladder_graph_is_1():
+ G = nx.ladder_graph(3)
+ assert nx.bipartite.maximal_extendability(G) == 1
+
+
+def test_cubical_graph_is_2():
+ G = nx.cubical_graph()
+ assert nx.bipartite.maximal_extendability(G) == 2
+
+
+def test_k_is_3():
+ G = nx.Graph(
+ [
+ (1, 6),
+ (1, 7),
+ (1, 8),
+ (1, 9),
+ (2, 6),
+ (2, 7),
+ (2, 8),
+ (2, 10),
+ (3, 6),
+ (3, 8),
+ (3, 9),
+ (3, 10),
+ (4, 7),
+ (4, 8),
+ (4, 9),
+ (4, 10),
+ (5, 6),
+ (5, 7),
+ (5, 9),
+ (5, 10),
+ ]
+ )
+ assert nx.bipartite.maximal_extendability(G) == 3
+
+
+def test_k_is_4():
+ G = nx.Graph(
+ [
+ (8, 1),
+ (8, 2),
+ (8, 3),
+ (8, 4),
+ (8, 5),
+ (9, 1),
+ (9, 2),
+ (9, 3),
+ (9, 4),
+ (9, 7),
+ (10, 1),
+ (10, 2),
+ (10, 3),
+ (10, 4),
+ (10, 6),
+ (11, 1),
+ (11, 2),
+ (11, 5),
+ (11, 6),
+ (11, 7),
+ (12, 1),
+ (12, 3),
+ (12, 5),
+ (12, 6),
+ (12, 7),
+ (13, 2),
+ (13, 4),
+ (13, 5),
+ (13, 6),
+ (13, 7),
+ (14, 3),
+ (14, 4),
+ (14, 5),
+ (14, 6),
+ (14, 7),
+ ]
+ )
+ assert nx.bipartite.maximal_extendability(G) == 4
+
+
+def test_k_is_5():
+ G = nx.Graph(
+ [
+ (8, 1),
+ (8, 2),
+ (8, 3),
+ (8, 4),
+ (8, 5),
+ (8, 6),
+ (9, 1),
+ (9, 2),
+ (9, 3),
+ (9, 4),
+ (9, 5),
+ (9, 7),
+ (10, 1),
+ (10, 2),
+ (10, 3),
+ (10, 4),
+ (10, 6),
+ (10, 7),
+ (11, 1),
+ (11, 2),
+ (11, 3),
+ (11, 5),
+ (11, 6),
+ (11, 7),
+ (12, 1),
+ (12, 2),
+ (12, 4),
+ (12, 5),
+ (12, 6),
+ (12, 7),
+ (13, 1),
+ (13, 3),
+ (13, 4),
+ (13, 5),
+ (13, 6),
+ (13, 7),
+ (14, 2),
+ (14, 3),
+ (14, 4),
+ (14, 5),
+ (14, 6),
+ (14, 7),
+ ]
+ )
+ assert nx.bipartite.maximal_extendability(G) == 5
+
+
+def test_k_is_6():
+ G = nx.Graph(
+ [
+ (9, 1),
+ (9, 2),
+ (9, 3),
+ (9, 4),
+ (9, 5),
+ (9, 6),
+ (9, 7),
+ (10, 1),
+ (10, 2),
+ (10, 3),
+ (10, 4),
+ (10, 5),
+ (10, 6),
+ (10, 8),
+ (11, 1),
+ (11, 2),
+ (11, 3),
+ (11, 4),
+ (11, 5),
+ (11, 7),
+ (11, 8),
+ (12, 1),
+ (12, 2),
+ (12, 3),
+ (12, 4),
+ (12, 6),
+ (12, 7),
+ (12, 8),
+ (13, 1),
+ (13, 2),
+ (13, 3),
+ (13, 5),
+ (13, 6),
+ (13, 7),
+ (13, 8),
+ (14, 1),
+ (14, 2),
+ (14, 4),
+ (14, 5),
+ (14, 6),
+ (14, 7),
+ (14, 8),
+ (15, 1),
+ (15, 3),
+ (15, 4),
+ (15, 5),
+ (15, 6),
+ (15, 7),
+ (15, 8),
+ (16, 2),
+ (16, 3),
+ (16, 4),
+ (16, 5),
+ (16, 6),
+ (16, 7),
+ (16, 8),
+ ]
+ )
+ assert nx.bipartite.maximal_extendability(G) == 6
+
+
+def test_k_is_7():
+ G = nx.Graph(
+ [
+ (1, 11),
+ (1, 12),
+ (1, 13),
+ (1, 14),
+ (1, 15),
+ (1, 16),
+ (1, 17),
+ (1, 18),
+ (2, 11),
+ (2, 12),
+ (2, 13),
+ (2, 14),
+ (2, 15),
+ (2, 16),
+ (2, 17),
+ (2, 19),
+ (3, 11),
+ (3, 12),
+ (3, 13),
+ (3, 14),
+ (3, 15),
+ (3, 16),
+ (3, 17),
+ (3, 20),
+ (4, 11),
+ (4, 12),
+ (4, 13),
+ (4, 14),
+ (4, 15),
+ (4, 16),
+ (4, 17),
+ (4, 18),
+ (4, 19),
+ (4, 20),
+ (5, 11),
+ (5, 12),
+ (5, 13),
+ (5, 14),
+ (5, 15),
+ (5, 16),
+ (5, 17),
+ (5, 18),
+ (5, 19),
+ (5, 20),
+ (6, 11),
+ (6, 12),
+ (6, 13),
+ (6, 14),
+ (6, 15),
+ (6, 16),
+ (6, 17),
+ (6, 18),
+ (6, 19),
+ (6, 20),
+ (7, 11),
+ (7, 12),
+ (7, 13),
+ (7, 14),
+ (7, 15),
+ (7, 16),
+ (7, 17),
+ (7, 18),
+ (7, 19),
+ (7, 20),
+ (8, 11),
+ (8, 12),
+ (8, 13),
+ (8, 14),
+ (8, 15),
+ (8, 16),
+ (8, 17),
+ (8, 18),
+ (8, 19),
+ (8, 20),
+ (9, 11),
+ (9, 12),
+ (9, 13),
+ (9, 14),
+ (9, 15),
+ (9, 16),
+ (9, 17),
+ (9, 18),
+ (9, 19),
+ (9, 20),
+ (10, 11),
+ (10, 12),
+ (10, 13),
+ (10, 14),
+ (10, 15),
+ (10, 16),
+ (10, 17),
+ (10, 18),
+ (10, 19),
+ (10, 20),
+ ]
+ )
+ assert nx.bipartite.maximal_extendability(G) == 7