def testIsomorphism(self): """ Check the graph isomorphism functions. """ molecule1 = Molecule().fromSMILES('C=CC=C[CH]C') molecule2 = Molecule().fromSMILES('C[CH]C=CC=C') self.assertTrue(molecule1.isIsomorphic(molecule2)) self.assertTrue(molecule2.isIsomorphic(molecule1))
def testAdjacencyList(self): """ Check the adjacency list read/write functions for a full molecule. """ molecule1 = Molecule().fromAdjacencyList(""" 1 C 0 {2,D} 2 C 0 {1,D} {3,S} 3 C 0 {2,S} {4,D} 4 C 0 {3,D} {5,S} 5 C 1 {4,S} {6,S} 6 C 0 {5,S} """) molecule2 = Molecule().fromSMILES('C=CC=C[CH]C') molecule1.makeHydrogensExplicit() molecule2.makeHydrogensExplicit() self.assertTrue(molecule1.isIsomorphic(molecule2)) self.assertTrue(molecule2.isIsomorphic(molecule1)) molecule1.makeHydrogensImplicit() molecule2.makeHydrogensImplicit() self.assertTrue(molecule1.isIsomorphic(molecule2)) self.assertTrue(molecule2.isIsomorphic(molecule1)) molecule1.makeHydrogensExplicit() molecule2.makeHydrogensImplicit() self.assertTrue(molecule1.isIsomorphic(molecule2)) self.assertTrue(molecule2.isIsomorphic(molecule1)) molecule1.makeHydrogensImplicit() molecule2.makeHydrogensExplicit() self.assertTrue(molecule1.isIsomorphic(molecule2)) self.assertTrue(molecule2.isIsomorphic(molecule1))