Exemple #1
0
        public void TestMoleculeTwo()
        {
            var filename = "NCDK.Data.HIN.molecule2.hin";

            Trace.TraceInformation("Testing: " + filename);
            var ins      = ResourceLoader.GetAsStream(filename);
            var reader   = new HINReader(ins);
            var chemFile = reader.Read(builder.NewChemFile());

            reader.Close();

            Assert.IsNotNull(chemFile);
            Assert.AreEqual(1, chemFile.Count);
            var seq = chemFile[0];

            Assert.IsNotNull(seq);
            Assert.AreEqual(1, seq.Count);
            var model = seq[0];

            Assert.IsNotNull(model);

            var som = model.MoleculeSet;

            Assert.IsNotNull(som);
            Assert.AreEqual(1, som.Count);
            var m = som[0];

            Assert.IsNotNull(m);
            Assert.AreEqual(37, m.Atoms.Count);
            // AreEqual(?, m.Bonds.Count);
        }
Exemple #2
0
        public void TestAromaticRingsLine()
        {
            var filename = "NCDK.Data.HIN.bug2984581.hin";
            var ins      = ResourceLoader.GetAsStream(filename);
            var reader   = new HINReader(ins);
            var content  = reader.Read(builder.NewChemFile());

            reader.Close();
            var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList();

            Assert.AreEqual(1, cList.Count);
        }
Exemple #3
0
        public void TestIsConnectedFromHINFile()
        {
            var filename = "NCDK.Data.HIN.connectivity1.hin";
            var ins      = ResourceLoader.GetAsStream(filename);
            var reader   = new HINReader(ins);
            var content  = reader.Read(builder.NewChemFile());

            reader.Close();
            var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList();
            var ac    = cList[0];

            Assert.AreEqual(57, ac.Atoms.Count);
            Assert.AreEqual(59, ac.Bonds.Count);
        }
Exemple #4
0
        public void TestReadAromaticRingsKeyword()
        {
            var filename = "NCDK.Data.HIN.arorings.hin";
            var ins      = ResourceLoader.GetAsStream(filename);
            var reader   = new HINReader(ins);
            var content  = reader.Read(builder.NewChemFile());

            reader.Close();
            var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList();

            Assert.AreEqual(1, cList.Count);

            var mol = cList[0];

            Assert.IsTrue(mol.Atoms[0].IsAromatic);
            Assert.IsTrue(mol.Atoms[2].IsAromatic);
            Assert.IsTrue(mol.Atoms[3].IsAromatic);
            Assert.IsTrue(mol.Atoms[5].IsAromatic);
            Assert.IsTrue(mol.Atoms[4].IsAromatic);
            Assert.IsTrue(mol.Atoms[1].IsAromatic);

            Assert.IsTrue(mol.Atoms[7].IsAromatic);
            Assert.IsTrue(mol.Atoms[12].IsAromatic);
            Assert.IsTrue(mol.Atoms[11].IsAromatic);
            Assert.IsTrue(mol.Atoms[10].IsAromatic);
            Assert.IsTrue(mol.Atoms[9].IsAromatic);
            Assert.IsTrue(mol.Atoms[8].IsAromatic);

            // make sure that only the phenyl C's were marked as aromatic
            foreach (var atom in mol.Atoms)
            {
                if (atom.Symbol.Equals("C"))
                {
                    Assert.IsTrue(atom.IsAromatic, $"{atom.Symbol} (index {mol.Atoms.IndexOf(atom)}) was wrongly marked as aromatic");
                }
            }
        }