Esempio n. 1
0
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)
Esempio n. 2
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)
Esempio n. 3
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)