def test_from_adjacency_list(self): """ adjlist: Test the Group.from_adjacency_list() method. """ adjlist = """ 1 *2 [Cs,Cd] u0 {2,[S,D]} {3,S} 2 *1 [O2s,O2d] u0 {1,[S,D]} 3 R!H u0 {1,S} """ group = Group().from_adjacency_list(adjlist) atom1, atom2, atom3 = group.atoms self.assertTrue(group.has_bond(atom1, atom2)) self.assertTrue(group.has_bond(atom1, atom3)) self.assertFalse(group.has_bond(atom2, atom3)) bond12 = atom1.bonds[atom2] bond13 = atom1.bonds[atom3] self.assertTrue(atom1.label == '*2') self.assertTrue(atom1.atomtype[0].label in ['Cs', 'Cd']) self.assertTrue(atom1.atomtype[1].label in ['Cs', 'Cd']) self.assertTrue(atom1.radical_electrons == [0]) self.assertTrue(atom2.label == '*1') self.assertTrue(atom2.atomtype[0].label in ['O2s', 'O2d']) self.assertTrue(atom2.atomtype[1].label in ['O2s', 'O2d']) self.assertTrue(atom2.radical_electrons == [0]) self.assertTrue(atom3.label == '') self.assertTrue(atom3.atomtype[0].label == 'R!H') self.assertTrue(atom3.radical_electrons == [0]) self.assertTrue(bond12.order == [1, 2]) self.assertTrue(bond13.is_single())
def test_from_old_adjacency_list1(self): """ adjlist: Test the Group.from_adjacency_list() method on an old style adjacency list. """ adjlist = """ 1 *2 {Cs,Cd} 0 {2,{S,D}} {3,S} 2 *1 {O2s,O2d} 0 {1,{S,D}} 3 R!H {0,1} {1,S} """ group = Group().from_adjacency_list(adjlist) atom1, atom2, atom3 = group.atoms self.assertTrue(group.has_bond(atom1, atom2)) self.assertTrue(group.has_bond(atom1, atom3)) self.assertFalse(group.has_bond(atom2, atom3)) bond12 = atom1.bonds[atom2] bond13 = atom1.bonds[atom3] self.assertTrue(atom1.label == '*2') self.assertTrue(atom1.atomtype[0].label in ['Cs', 'Cd']) self.assertTrue(atom1.atomtype[1].label in ['Cs', 'Cd']) self.assertTrue(atom1.radical_electrons == [0]) self.assertTrue(atom2.label == '*1') self.assertTrue(atom2.atomtype[0].label in ['O2s', 'O2d']) self.assertTrue(atom2.atomtype[1].label in ['O2s', 'O2d']) self.assertTrue(atom2.radical_electrons == [0]) self.assertTrue(atom3.label == '') self.assertTrue(atom3.atomtype[0].label == 'R!H') self.assertTrue(atom3.radical_electrons == [0, 1]) self.assertTrue(bond12.order == [1, 2]) self.assertTrue(bond13.is_single())