diff env/lib/python3.9/site-packages/networkx/readwrite/tests/test_gpickle.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.9/site-packages/networkx/readwrite/tests/test_gpickle.py	Mon Mar 22 18:12:50 2021 +0000
@@ -0,0 +1,79 @@
+import os
+import tempfile
+
+import networkx as nx
+from networkx.testing.utils import (
+    assert_graphs_equal,
+    assert_edges_equal,
+    assert_nodes_equal,
+)
+
+
+class TestGpickle:
+    @classmethod
+    def setup_class(cls):
+        G = nx.Graph(name="test")
+        e = [("a", "b"), ("b", "c"), ("c", "d"), ("d", "e"), ("e", "f"), ("a", "f")]
+        G.add_edges_from(e, width=10)
+        G.add_node("g", color="green")
+        G.graph["number"] = 1
+        DG = nx.DiGraph(G)
+        MG = nx.MultiGraph(G)
+        MG.add_edge("a", "a")
+        MDG = nx.MultiDiGraph(G)
+        MDG.add_edge("a", "a")
+        fG = G.copy()
+        fDG = DG.copy()
+        fMG = MG.copy()
+        fMDG = MDG.copy()
+        nx.freeze(fG)
+        nx.freeze(fDG)
+        nx.freeze(fMG)
+        nx.freeze(fMDG)
+        cls.G = G
+        cls.DG = DG
+        cls.MG = MG
+        cls.MDG = MDG
+        cls.fG = fG
+        cls.fDG = fDG
+        cls.fMG = fMG
+        cls.fMDG = fMDG
+
+    def test_gpickle(self):
+        for G in [
+            self.G,
+            self.DG,
+            self.MG,
+            self.MDG,
+            self.fG,
+            self.fDG,
+            self.fMG,
+            self.fMDG,
+        ]:
+            (fd, fname) = tempfile.mkstemp()
+            nx.write_gpickle(G, fname)
+            Gin = nx.read_gpickle(fname)
+            assert_nodes_equal(list(G.nodes(data=True)), list(Gin.nodes(data=True)))
+            assert_edges_equal(list(G.edges(data=True)), list(Gin.edges(data=True)))
+            assert_graphs_equal(G, Gin)
+            os.close(fd)
+            os.unlink(fname)
+
+    def test_protocol(self):
+        for G in [
+            self.G,
+            self.DG,
+            self.MG,
+            self.MDG,
+            self.fG,
+            self.fDG,
+            self.fMG,
+            self.fMDG,
+        ]:
+            with tempfile.TemporaryFile() as f:
+                nx.write_gpickle(G, f, 0)
+                f.seek(0)
+                Gin = nx.read_gpickle(f)
+                assert_nodes_equal(list(G.nodes(data=True)), list(Gin.nodes(data=True)))
+                assert_edges_equal(list(G.edges(data=True)), list(Gin.edges(data=True)))
+                assert_graphs_equal(G, Gin)