public void TestFindMatchingAtomType_IAtomContainer() { var filename = "NCDK.Data.Mol2.atomtyping.mol2"; var ins = ResourceLoader.GetAsStream(filename); var reader = new Mol2Reader(ins); var mol = reader.Read(builder.NewAtomContainer()); // just check consistency; other methods do perception testing var matcher = SybylAtomTypeMatcher.GetInstance(); var types = matcher.FindMatchingAtomTypes(mol).ToReadOnlyList(); for (int i = 0; i < types.Count; i++) { IAtomType type = matcher.FindMatchingAtomType(mol, mol.Atoms[i]); Assert.AreEqual(type.AtomTypeName, types[i].AtomTypeName); } }
public void TestAtomTyping() { var filename = "NCDK.Data.Mol2.atomtyping.mol2"; var ins = ResourceLoader.GetAsStream(filename); var reader = new Mol2Reader(ins); var molecule = (IAtomContainer)reader.Read(builder.NewAtomContainer()); Assert.IsNotNull(molecule); var reference = (IAtomContainer)molecule.Clone(); // test if the perceived atom types match that PercieveAtomTypesAndConfigureAtoms(molecule); var refAtoms = reference.Atoms.GetEnumerator(); var atoms = molecule.Atoms.GetEnumerator(); while (atoms.MoveNext() && refAtoms.MoveNext()) { // work around aromaticity, which we skipped for now Assert.AreEqual(refAtoms.Current.AtomTypeName, atoms.Current.AtomTypeName, "Perceived atom type does not match atom type in file"); } }