From 268c0d67bdcb27135aa6825691a115b6f7cd2b0d Mon Sep 17 00:00:00 2001 From: Ivan Carvalho Date: Mon, 7 Oct 2024 17:47:47 -0400 Subject: [PATCH] Update test to be independent --- tests/graph/test_karate.py | 360 ++++++++++++++++++++++++++++++++++++- 1 file changed, 356 insertions(+), 4 deletions(-) diff --git a/tests/graph/test_karate.py b/tests/graph/test_karate.py index 33d0fa442..6e6b91b83 100644 --- a/tests/graph/test_karate.py +++ b/tests/graph/test_karate.py @@ -11,16 +11,13 @@ # under the License. import unittest +import tempfile import rustworkx as rx -import networkx as nx class TestKarate(unittest.TestCase): def test_isomorphic_to_networkx(self): - graph = rx.generators.karate_club_graph() - nx_graph = rx.networkx_converter(nx.karate_club_graph(), keep_attributes=True) - def node_matcher(a, b): if isinstance(a, dict): ( @@ -43,6 +40,361 @@ def edge_matcher(a, b): ) return a == b["weight"] + with tempfile.NamedTemporaryFile("wt") as fd: + fd.write(karate_xml) + fd.flush() + nx_graph = rx.read_graphml(fd.name)[0] + + graph = rx.generators.karate_club_graph() + self.assertTrue( rx.is_isomorphic(graph, nx_graph, node_matcher=node_matcher, edge_matcher=edge_matcher) ) + +# Output of +# import networkx as nx +# nx.write_graphml_lxml(nx.karate_club_graph(), open("karate.xml", "w")) +karate_xml = """ + + + + +Zachary's Karate Club + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Officer + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Mr. Hi + + + Officer + + + Officer + + + Mr. Hi + + + Mr. Hi + + + Officer + + + Mr. Hi + + + Officer + + + Mr. Hi + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + Officer + + + 4 + + + 5 + + + 3 + + + 3 + + + 3 + + + 3 + + + 2 + + + 2 + + + 2 + + + 3 + + + 1 + + + 3 + + + 2 + + + 2 + + + 2 + + + 2 + + + 6 + + + 3 + + + 4 + + + 5 + + + 1 + + + 2 + + + 2 + + + 2 + + + 3 + + + 4 + + + 5 + + + 1 + + + 3 + + + 2 + + + 2 + + + 2 + + + 3 + + + 3 + + + 3 + + + 2 + + + 3 + + + 5 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 4 + + + 2 + + + 3 + + + 3 + + + 2 + + + 3 + + + 4 + + + 1 + + + 2 + + + 1 + + + 3 + + + 1 + + + 2 + + + 3 + + + 5 + + + 4 + + + 3 + + + 5 + + + 4 + + + 2 + + + 3 + + + 2 + + + 7 + + + 4 + + + 2 + + + 4 + + + 2 + + + 2 + + + 4 + + + 2 + + + 3 + + + 3 + + + 4 + + + 4 + + + 5 + + +"""