aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/networkx/readwrite/json_graph/tests/test_adjacency.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/readwrite/json_graph/tests/test_adjacency.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/networkx/readwrite/json_graph/tests/test_adjacency.py')
-rw-r--r--.venv/lib/python3.12/site-packages/networkx/readwrite/json_graph/tests/test_adjacency.py78
1 files changed, 78 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/networkx/readwrite/json_graph/tests/test_adjacency.py b/.venv/lib/python3.12/site-packages/networkx/readwrite/json_graph/tests/test_adjacency.py
new file mode 100644
index 00000000..37506382
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/networkx/readwrite/json_graph/tests/test_adjacency.py
@@ -0,0 +1,78 @@
+import copy
+import json
+
+import pytest
+
+import networkx as nx
+from networkx.readwrite.json_graph import adjacency_data, adjacency_graph
+from networkx.utils import graphs_equal
+
+
+class TestAdjacency:
+ def test_graph(self):
+ G = nx.path_graph(4)
+ H = adjacency_graph(adjacency_data(G))
+ assert graphs_equal(G, H)
+
+ def test_graph_attributes(self):
+ G = nx.path_graph(4)
+ G.add_node(1, color="red")
+ G.add_edge(1, 2, width=7)
+ G.graph["foo"] = "bar"
+ G.graph[1] = "one"
+
+ H = adjacency_graph(adjacency_data(G))
+ assert graphs_equal(G, H)
+ assert H.graph["foo"] == "bar"
+ assert H.nodes[1]["color"] == "red"
+ assert H[1][2]["width"] == 7
+
+ d = json.dumps(adjacency_data(G))
+ H = adjacency_graph(json.loads(d))
+ assert graphs_equal(G, H)
+ assert H.graph["foo"] == "bar"
+ assert H.graph[1] == "one"
+ assert H.nodes[1]["color"] == "red"
+ assert H[1][2]["width"] == 7
+
+ def test_digraph(self):
+ G = nx.DiGraph()
+ nx.add_path(G, [1, 2, 3])
+ H = adjacency_graph(adjacency_data(G))
+ assert H.is_directed()
+ assert graphs_equal(G, H)
+
+ def test_multidigraph(self):
+ G = nx.MultiDiGraph()
+ nx.add_path(G, [1, 2, 3])
+ H = adjacency_graph(adjacency_data(G))
+ assert H.is_directed()
+ assert H.is_multigraph()
+ assert graphs_equal(G, H)
+
+ def test_multigraph(self):
+ G = nx.MultiGraph()
+ G.add_edge(1, 2, key="first")
+ G.add_edge(1, 2, key="second", color="blue")
+ H = adjacency_graph(adjacency_data(G))
+ assert graphs_equal(G, H)
+ assert H[1][2]["second"]["color"] == "blue"
+
+ def test_input_data_is_not_modified_when_building_graph(self):
+ G = nx.path_graph(4)
+ input_data = adjacency_data(G)
+ orig_data = copy.deepcopy(input_data)
+ # Ensure input is unmodified by deserialisation
+ assert graphs_equal(G, adjacency_graph(input_data))
+ assert input_data == orig_data
+
+ def test_adjacency_form_json_serialisable(self):
+ G = nx.path_graph(4)
+ H = adjacency_graph(json.loads(json.dumps(adjacency_data(G))))
+ assert graphs_equal(G, H)
+
+ def test_exception(self):
+ with pytest.raises(nx.NetworkXError):
+ G = nx.MultiDiGraph()
+ attrs = {"id": "node", "key": "node"}
+ adjacency_data(G, attrs)