comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 import os
2 import tempfile
3
4 import networkx as nx
5 from networkx.testing.utils import (
6 assert_graphs_equal,
7 assert_edges_equal,
8 assert_nodes_equal,
9 )
10
11
12 class TestGpickle:
13 @classmethod
14 def setup_class(cls):
15 G = nx.Graph(name="test")
16 e = [("a", "b"), ("b", "c"), ("c", "d"), ("d", "e"), ("e", "f"), ("a", "f")]
17 G.add_edges_from(e, width=10)
18 G.add_node("g", color="green")
19 G.graph["number"] = 1
20 DG = nx.DiGraph(G)
21 MG = nx.MultiGraph(G)
22 MG.add_edge("a", "a")
23 MDG = nx.MultiDiGraph(G)
24 MDG.add_edge("a", "a")
25 fG = G.copy()
26 fDG = DG.copy()
27 fMG = MG.copy()
28 fMDG = MDG.copy()
29 nx.freeze(fG)
30 nx.freeze(fDG)
31 nx.freeze(fMG)
32 nx.freeze(fMDG)
33 cls.G = G
34 cls.DG = DG
35 cls.MG = MG
36 cls.MDG = MDG
37 cls.fG = fG
38 cls.fDG = fDG
39 cls.fMG = fMG
40 cls.fMDG = fMDG
41
42 def test_gpickle(self):
43 for G in [
44 self.G,
45 self.DG,
46 self.MG,
47 self.MDG,
48 self.fG,
49 self.fDG,
50 self.fMG,
51 self.fMDG,
52 ]:
53 (fd, fname) = tempfile.mkstemp()
54 nx.write_gpickle(G, fname)
55 Gin = nx.read_gpickle(fname)
56 assert_nodes_equal(list(G.nodes(data=True)), list(Gin.nodes(data=True)))
57 assert_edges_equal(list(G.edges(data=True)), list(Gin.edges(data=True)))
58 assert_graphs_equal(G, Gin)
59 os.close(fd)
60 os.unlink(fname)
61
62 def test_protocol(self):
63 for G in [
64 self.G,
65 self.DG,
66 self.MG,
67 self.MDG,
68 self.fG,
69 self.fDG,
70 self.fMG,
71 self.fMDG,
72 ]:
73 with tempfile.TemporaryFile() as f:
74 nx.write_gpickle(G, f, 0)
75 f.seek(0)
76 Gin = nx.read_gpickle(f)
77 assert_nodes_equal(list(G.nodes(data=True)), list(Gin.nodes(data=True)))
78 assert_edges_equal(list(G.edges(data=True)), list(Gin.edges(data=True)))
79 assert_graphs_equal(G, Gin)