34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
#!/usr/bin/env python
|
|
import networkx as nx
|
|
from networkx.algorithms import isomorphism as iso
|
|
|
|
|
|
class TestIsomorph:
|
|
|
|
@classmethod
|
|
def setup_class(cls):
|
|
cls.G1 = nx.Graph()
|
|
cls.G2 = nx.Graph()
|
|
cls.G3 = nx.Graph()
|
|
cls.G4 = nx.Graph()
|
|
cls.G1.add_edges_from([[1, 2], [1, 3], [1, 5], [2, 3]])
|
|
cls.G2.add_edges_from([[10, 20], [20, 30], [10, 30], [10, 50]])
|
|
cls.G3.add_edges_from([[1, 2], [1, 3], [1, 5], [2, 5]])
|
|
cls.G4.add_edges_from([[1, 2], [1, 3], [1, 5], [2, 4]])
|
|
|
|
def test_could_be_isomorphic(self):
|
|
assert iso.could_be_isomorphic(self.G1, self.G2)
|
|
assert iso.could_be_isomorphic(self.G1, self.G3)
|
|
assert not iso.could_be_isomorphic(self.G1, self.G4)
|
|
assert iso.could_be_isomorphic(self.G3, self.G2)
|
|
|
|
def test_fast_could_be_isomorphic(self):
|
|
assert iso.fast_could_be_isomorphic(self.G3, self.G2)
|
|
|
|
def test_faster_could_be_isomorphic(self):
|
|
assert iso.faster_could_be_isomorphic(self.G3, self.G2)
|
|
|
|
def test_is_isomorphic(self):
|
|
assert iso.is_isomorphic(self.G1, self.G2)
|
|
assert not iso.is_isomorphic(self.G1, self.G4)
|