def test_aromatic_resonance_structures(self): """Test that different resonance structures give identical InChIs.""" mol = Molecule().from_adjacency_list(""" multiplicity 2 1 C u0 p0 c0 {2,D} {14,S} {18,S} 2 C u0 p0 c0 {1,D} {3,S} {19,S} 3 C u0 p0 c0 {2,S} {4,D} {20,S} 4 C u0 p0 c0 {3,D} {5,S} {13,S} 5 C u0 p0 c0 {4,S} {6,S} {14,D} 6 C u0 p0 c0 {5,S} {7,D} {21,S} 7 C u0 p0 c0 {6,D} {8,S} {22,S} 8 C u0 p0 c0 {7,S} {9,D} {13,S} 9 C u0 p0 c0 {8,D} {10,S} {23,S} 10 C u0 p0 c0 {9,S} {11,D} {24,S} 11 C u0 p0 c0 {10,D} {12,S} {25,S} 12 C u0 p0 c0 {11,S} {13,D} {26,S} 13 C u0 p0 c0 {4,S} {8,S} {12,D} 14 C u0 p0 c0 {1,S} {5,D} {15,S} 15 C u1 p0 c0 {14,S} {16,S} {17,S} 16 H u0 p0 c0 {15,S} 17 H u0 p0 c0 {15,S} 18 H u0 p0 c0 {1,S} 19 H u0 p0 c0 {2,S} 20 H u0 p0 c0 {3,S} 21 H u0 p0 c0 {6,S} 22 H u0 p0 c0 {7,S} 23 H u0 p0 c0 {9,S} 24 H u0 p0 c0 {10,S} 25 H u0 p0 c0 {11,S} 26 H u0 p0 c0 {12,S} """) res = mol.generate_resonance_structures() inchi_list = [struct.to_inchi() for struct in res] expected_inchi = 'InChI=1S/C15H11/c1-11-5-4-8-15-13(11)10-9-12-6-2-3-7-14(12)15/h2-10H,1H2' for inchi in inchi_list: self.assertEqual(inchi, expected_inchi)
def test_aromatic_resonance_structures(self): """Test that different resonance structures give identical InChIs.""" mol = Molecule().fromAdjacencyList(""" multiplicity 2 1 C u0 p0 c0 {2,D} {14,S} {18,S} 2 C u0 p0 c0 {1,D} {3,S} {19,S} 3 C u0 p0 c0 {2,S} {4,D} {20,S} 4 C u0 p0 c0 {3,D} {5,S} {13,S} 5 C u0 p0 c0 {4,S} {6,S} {14,D} 6 C u0 p0 c0 {5,S} {7,D} {21,S} 7 C u0 p0 c0 {6,D} {8,S} {22,S} 8 C u0 p0 c0 {7,S} {9,D} {13,S} 9 C u0 p0 c0 {8,D} {10,S} {23,S} 10 C u0 p0 c0 {9,S} {11,D} {24,S} 11 C u0 p0 c0 {10,D} {12,S} {25,S} 12 C u0 p0 c0 {11,S} {13,D} {26,S} 13 C u0 p0 c0 {4,S} {8,S} {12,D} 14 C u0 p0 c0 {1,S} {5,D} {15,S} 15 C u1 p0 c0 {14,S} {16,S} {17,S} 16 H u0 p0 c0 {15,S} 17 H u0 p0 c0 {15,S} 18 H u0 p0 c0 {1,S} 19 H u0 p0 c0 {2,S} 20 H u0 p0 c0 {3,S} 21 H u0 p0 c0 {6,S} 22 H u0 p0 c0 {7,S} 23 H u0 p0 c0 {9,S} 24 H u0 p0 c0 {10,S} 25 H u0 p0 c0 {11,S} 26 H u0 p0 c0 {12,S} """) res = mol.generate_resonance_structures() inchi_list = [struct.toInChI() for struct in res] expected_inchi = 'InChI=1S/C15H11/c1-11-5-4-8-15-13(11)10-9-12-6-2-3-7-14(12)15/h2-10H,1H2' for inchi in inchi_list: self.assertEqual(inchi, expected_inchi)