aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_stochastic.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/generators/tests/test_stochastic.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/networkx/generators/tests/test_stochastic.py')
-rw-r--r--.venv/lib/python3.12/site-packages/networkx/generators/tests/test_stochastic.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_stochastic.py b/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_stochastic.py
new file mode 100644
index 00000000..0404d9d8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_stochastic.py
@@ -0,0 +1,72 @@
+"""Unit tests for the :mod:`networkx.generators.stochastic` module."""
+
+import pytest
+
+import networkx as nx
+
+
+class TestStochasticGraph:
+ """Unit tests for the :func:`~networkx.stochastic_graph` function."""
+
+ def test_default_weights(self):
+ G = nx.DiGraph()
+ G.add_edge(0, 1)
+ G.add_edge(0, 2)
+ S = nx.stochastic_graph(G)
+ assert nx.is_isomorphic(G, S)
+ assert sorted(S.edges(data=True)) == [
+ (0, 1, {"weight": 0.5}),
+ (0, 2, {"weight": 0.5}),
+ ]
+
+ def test_in_place(self):
+ """Tests for an in-place reweighting of the edges of the graph."""
+ G = nx.DiGraph()
+ G.add_edge(0, 1, weight=1)
+ G.add_edge(0, 2, weight=1)
+ nx.stochastic_graph(G, copy=False)
+ assert sorted(G.edges(data=True)) == [
+ (0, 1, {"weight": 0.5}),
+ (0, 2, {"weight": 0.5}),
+ ]
+
+ def test_arbitrary_weights(self):
+ G = nx.DiGraph()
+ G.add_edge(0, 1, weight=1)
+ G.add_edge(0, 2, weight=1)
+ S = nx.stochastic_graph(G)
+ assert sorted(S.edges(data=True)) == [
+ (0, 1, {"weight": 0.5}),
+ (0, 2, {"weight": 0.5}),
+ ]
+
+ def test_multidigraph(self):
+ G = nx.MultiDiGraph()
+ G.add_edges_from([(0, 1), (0, 1), (0, 2), (0, 2)])
+ S = nx.stochastic_graph(G)
+ d = {"weight": 0.25}
+ assert sorted(S.edges(data=True)) == [
+ (0, 1, d),
+ (0, 1, d),
+ (0, 2, d),
+ (0, 2, d),
+ ]
+
+ def test_zero_weights(self):
+ """Smoke test: ensure ZeroDivisionError is not raised."""
+ G = nx.DiGraph()
+ G.add_edge(0, 1, weight=0)
+ G.add_edge(0, 2, weight=0)
+ S = nx.stochastic_graph(G)
+ assert sorted(S.edges(data=True)) == [
+ (0, 1, {"weight": 0}),
+ (0, 2, {"weight": 0}),
+ ]
+
+ def test_graph_disallowed(self):
+ with pytest.raises(nx.NetworkXNotImplemented):
+ nx.stochastic_graph(nx.Graph())
+
+ def test_multigraph_disallowed(self):
+ with pytest.raises(nx.NetworkXNotImplemented):
+ nx.stochastic_graph(nx.MultiGraph())