def test_multiplicity_mol_not_specified_mol_not_specified(): """ Both multiplicities not set. """ mol = Molecule().from_adjacency_list(""" 1 C u2 p0 c0 """, saturate_h=True) mol2 = Molecule().from_adjacency_list(""" 1 C u2 p0 c0 """, saturate_h=True) assert_true(mol.is_isomorphic(mol2)) assert_true(len(mol.find_isomorphism(mol2)) > 0)
def test_multiplicity_mol_mol_identical_multiplicity(): """ identical multiplicity for both molecules set by user. """ mol = Molecule().from_adjacency_list(""" multiplicity 3 1 C u2 p0 c0 """, saturate_h=True) mol2 = Molecule().from_adjacency_list(""" multiplicity 3 1 C u2 p0 c0 """, saturate_h=True) assert_true(mol.is_isomorphic(mol2)) assert_true(len(mol.find_isomorphism(mol2)) > 0)
def test_multiplicity_mol_mol_distinct_multiplicity(): """ distinct multiplicity for both molecules set by user. """ mol = Molecule().from_adjacency_list(""" multiplicity 1 1 C u1 p0 c0 {2,S} 2 C u0 p0 c0 {1,S} {3,S} 3 C u1 p0 c0 {2,S} """, saturate_h=True) mol2 = Molecule().from_adjacency_list(""" multiplicity 3 1 C u1 p0 c0 {2,S} 2 C u0 p0 c0 {1,S} {3,S} 3 C u1 p0 c0 {2,S} """, saturate_h=True) assert_false(mol.is_isomorphic(mol2)) assert_false(len(mol.find_isomorphism(mol2)) > 0)