1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import io
- import networkx as nx
- from networkx.readwrite.p2g import read_p2g, write_p2g
- from networkx.utils import edges_equal
- class TestP2G:
- @classmethod
- def setup_class(cls):
- cls.G = nx.Graph(name="test")
- e = [("a", "b"), ("b", "c"), ("c", "d"), ("d", "e"), ("e", "f"), ("a", "f")]
- cls.G.add_edges_from(e)
- cls.G.add_node("g")
- cls.DG = nx.DiGraph(cls.G)
- def test_read_p2g(self):
- s = b"""\
- name
- 3 4
- a
- 1 2
- b
- c
- 0 2
- """
- bytesIO = io.BytesIO(s)
- G = read_p2g(bytesIO)
- assert G.name == "name"
- assert sorted(G) == ["a", "b", "c"]
- edges = [(str(u), str(v)) for u, v in G.edges()]
- assert edges_equal(G.edges(), [("a", "c"), ("a", "b"), ("c", "a"), ("c", "c")])
- def test_write_p2g(self):
- s = b"""foo
- 3 2
- 1
- 1
- 2
- 2
- 3
- """
- fh = io.BytesIO()
- G = nx.DiGraph()
- G.name = "foo"
- G.add_edges_from([(1, 2), (2, 3)])
- write_p2g(G, fh)
- fh.seek(0)
- r = fh.read()
- assert r == s
- def test_write_read_p2g(self):
- fh = io.BytesIO()
- G = nx.DiGraph()
- G.name = "foo"
- G.add_edges_from([("a", "b"), ("b", "c")])
- write_p2g(G, fh)
- fh.seek(0)
- H = read_p2g(fh)
- assert edges_equal(G.edges(), H.edges())
|