aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/networkx/algorithms/centrality/tests/test_subgraph.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/centrality/tests/test_subgraph.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/centrality/tests/test_subgraph.py')
-rw-r--r--.venv/lib/python3.12/site-packages/networkx/algorithms/centrality/tests/test_subgraph.py110
1 files changed, 110 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/networkx/algorithms/centrality/tests/test_subgraph.py b/.venv/lib/python3.12/site-packages/networkx/algorithms/centrality/tests/test_subgraph.py
new file mode 100644
index 00000000..71092751
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/networkx/algorithms/centrality/tests/test_subgraph.py
@@ -0,0 +1,110 @@
+import pytest
+
+pytest.importorskip("numpy")
+pytest.importorskip("scipy")
+
+import networkx as nx
+from networkx.algorithms.centrality.subgraph_alg import (
+ communicability_betweenness_centrality,
+ estrada_index,
+ subgraph_centrality,
+ subgraph_centrality_exp,
+)
+
+
+class TestSubgraph:
+ def test_subgraph_centrality(self):
+ answer = {0: 1.5430806348152433, 1: 1.5430806348152433}
+ result = subgraph_centrality(nx.path_graph(2))
+ for k, v in result.items():
+ assert answer[k] == pytest.approx(v, abs=1e-7)
+
+ answer1 = {
+ "1": 1.6445956054135658,
+ "Albert": 2.4368257358712189,
+ "Aric": 2.4368257358712193,
+ "Dan": 3.1306328496328168,
+ "Franck": 2.3876142275231915,
+ }
+ G1 = nx.Graph(
+ [
+ ("Franck", "Aric"),
+ ("Aric", "Dan"),
+ ("Dan", "Albert"),
+ ("Albert", "Franck"),
+ ("Dan", "1"),
+ ("Franck", "Albert"),
+ ]
+ )
+ result1 = subgraph_centrality(G1)
+ for k, v in result1.items():
+ assert answer1[k] == pytest.approx(v, abs=1e-7)
+ result1 = subgraph_centrality_exp(G1)
+ for k, v in result1.items():
+ assert answer1[k] == pytest.approx(v, abs=1e-7)
+
+ def test_subgraph_centrality_big_graph(self):
+ g199 = nx.complete_graph(199)
+ g200 = nx.complete_graph(200)
+
+ comm199 = nx.subgraph_centrality(g199)
+ comm199_exp = nx.subgraph_centrality_exp(g199)
+
+ comm200 = nx.subgraph_centrality(g200)
+ comm200_exp = nx.subgraph_centrality_exp(g200)
+
+ def test_communicability_betweenness_centrality_small(self):
+ result = communicability_betweenness_centrality(nx.path_graph(2))
+ assert result == {0: 0, 1: 0}
+
+ result = communicability_betweenness_centrality(nx.path_graph(1))
+ assert result == {0: 0}
+
+ result = communicability_betweenness_centrality(nx.path_graph(0))
+ assert result == {}
+
+ answer = {0: 0.1411224421177313, 1: 1.0, 2: 0.1411224421177313}
+ result = communicability_betweenness_centrality(nx.path_graph(3))
+ for k, v in result.items():
+ assert answer[k] == pytest.approx(v, abs=1e-7)
+
+ result = communicability_betweenness_centrality(nx.complete_graph(3))
+ for k, v in result.items():
+ assert 0.49786143366223296 == pytest.approx(v, abs=1e-7)
+
+ def test_communicability_betweenness_centrality(self):
+ answer = {
+ 0: 0.07017447951484615,
+ 1: 0.71565598701107991,
+ 2: 0.71565598701107991,
+ 3: 0.07017447951484615,
+ }
+ result = communicability_betweenness_centrality(nx.path_graph(4))
+ for k, v in result.items():
+ assert answer[k] == pytest.approx(v, abs=1e-7)
+
+ answer1 = {
+ "1": 0.060039074193949521,
+ "Albert": 0.315470761661372,
+ "Aric": 0.31547076166137211,
+ "Dan": 0.68297778678316201,
+ "Franck": 0.21977926617449497,
+ }
+ G1 = nx.Graph(
+ [
+ ("Franck", "Aric"),
+ ("Aric", "Dan"),
+ ("Dan", "Albert"),
+ ("Albert", "Franck"),
+ ("Dan", "1"),
+ ("Franck", "Albert"),
+ ]
+ )
+ result1 = communicability_betweenness_centrality(G1)
+ for k, v in result1.items():
+ assert answer1[k] == pytest.approx(v, abs=1e-7)
+
+ def test_estrada_index(self):
+ answer = 1041.2470334195475
+ result = estrada_index(nx.karate_club_graph())
+ assert answer == pytest.approx(result, abs=1e-7)