コード例 #1
0
        public void TestGetConfidenceLimit()
        {
            var result = new double[]
            {
                28.5, 25.7, 28.5, 34.9, 28.5, 25.7, 25.4, 28.5, 28.5, 14.8, 13.3, 23.0, 34.9, 25.7, 25.7,
                28.5, 25.7, 25.7, 13.3, 14.4, 14.4, 8.9, 14.8, 14.8, 13.3, 13.3, 13.3, 14.4, 14.4, 13.3, 14.4, 14.4,
                8.9, 14.8, 14.8, 13.3, 13.3, 13.3, 14.4, 14.4, 13.3,
            };
            IAtomContainer molecule = null;
            var            filename = "NCDK.Data.MDL.BremserPredictionTest.mol";
            var            ins      = ResourceLoader.GetAsStream(filename);
            var            reader   = new MDLV2000Reader(ins, ChemObjectReaderMode.Strict);

            molecule = reader.Read(builder.NewAtomContainer());
            double prediction;
            var    bp  = new BremserOneSphereHOSECodePredictor();
            var    hcg = new HOSECodeGenerator();
            string s   = null;

            RemoveHydrogens(molecule);
            for (int f = 0; f < molecule.Atoms.Count; f++)
            {
                s          = hcg.GetHOSECode(molecule, molecule.Atoms[f], 1);
                prediction = bp.GetConfidenceLimit(HOSECodeGenerator.MakeBremserCompliant(s));
                Assert.AreEqual(result[f], prediction, 0.001);
            }
        }
コード例 #2
0
        public void TestFailure2()
        {
            bool correct = false;
            var  bp      = new BremserOneSphereHOSECodePredictor();

            try
            {
                bp.GetConfidenceLimit("dumb code");
            }
            catch (Exception exc)
            {
                if (exc is CDKException)
                {
                    correct = true;
                }
            }
            Assert.IsTrue(correct);
        }