aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_hierarchy.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/tests/test_hierarchy.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/tests/test_hierarchy.py')
-rw-r--r--.venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_hierarchy.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_hierarchy.py b/.venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_hierarchy.py
new file mode 100644
index 00000000..eaa6a67b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_hierarchy.py
@@ -0,0 +1,46 @@
+import pytest
+
+import networkx as nx
+
+
+def test_hierarchy_undirected():
+ G = nx.cycle_graph(5)
+ pytest.raises(nx.NetworkXError, nx.flow_hierarchy, G)
+
+
+def test_hierarchy_cycle():
+ G = nx.cycle_graph(5, create_using=nx.DiGraph())
+ assert nx.flow_hierarchy(G) == 0.0
+
+
+def test_hierarchy_tree():
+ G = nx.full_rary_tree(2, 16, create_using=nx.DiGraph())
+ assert nx.flow_hierarchy(G) == 1.0
+
+
+def test_hierarchy_1():
+ G = nx.DiGraph()
+ G.add_edges_from([(0, 1), (1, 2), (2, 3), (3, 1), (3, 4), (0, 4)])
+ assert nx.flow_hierarchy(G) == 0.5
+
+
+def test_hierarchy_weight():
+ G = nx.DiGraph()
+ G.add_edges_from(
+ [
+ (0, 1, {"weight": 0.3}),
+ (1, 2, {"weight": 0.1}),
+ (2, 3, {"weight": 0.1}),
+ (3, 1, {"weight": 0.1}),
+ (3, 4, {"weight": 0.3}),
+ (0, 4, {"weight": 0.3}),
+ ]
+ )
+ assert nx.flow_hierarchy(G, weight="weight") == 0.75
+
+
+@pytest.mark.parametrize("n", (0, 1, 3))
+def test_hierarchy_empty_graph(n):
+ G = nx.empty_graph(n, create_using=nx.DiGraph)
+ with pytest.raises(nx.NetworkXError, match=".*not applicable to empty graphs"):
+ nx.flow_hierarchy(G)