public void TestCompareIonized() { var molA = CDK.Builder.NewAtomContainer(); molA.Atoms.Add(CDK.Builder.NewAtom("C")); molA.Atoms.Add(CDK.Builder.NewAtom("C")); molA.AddBond(molA.Atoms[0], molA.Atoms[1], BondOrder.Single); molA.Atoms.Add(CDK.Builder.NewAtom("C")); molA.AddBond(molA.Atoms[1], molA.Atoms[2], BondOrder.Single); molA.Atoms.Add(CDK.Builder.NewAtom("Cl")); molA.AddBond(molA.Atoms[2], molA.Atoms[3], BondOrder.Single); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(molA); AddExplicitHydrogens(molA); CDK.LonePairElectronChecker.Saturate(molA); PiElectronegativityDescriptor descriptor; descriptor = CreateDescriptor(molA); var resultA = descriptor.Calculate(molA.Atoms[3]).Value; IAtomContainer molB = CDK.Builder.NewAtomContainer(); molB.Atoms.Add(CDK.Builder.NewAtom("C")); molB.Atoms.Add(CDK.Builder.NewAtom("C")); molB.AddBond(molB.Atoms[0], molB.Atoms[1], BondOrder.Single); molB.Atoms.Add(CDK.Builder.NewAtom("C")); molB.AddBond(molB.Atoms[1], molB.Atoms[2], BondOrder.Single); molB.Atoms.Add(CDK.Builder.NewAtom("Cl")); molB.Atoms[3].FormalCharge = 1; molB.AddSingleElectronTo(molB.Atoms[3]); molB.AddLonePairTo(molB.Atoms[3]); molB.AddLonePairTo(molB.Atoms[3]); molB.AddBond(molB.Atoms[2], molB.Atoms[3], BondOrder.Single); AddExplicitHydrogens(molB); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(molB); CDK.LonePairElectronChecker.Saturate(molB); Assert.AreEqual(1, molB.Atoms[3].FormalCharge.Value, 0.00001); Assert.AreEqual(1, molB.SingleElectrons.Count, 0.00001); Assert.AreEqual(2, molB.LonePairs.Count, 0.00001); descriptor = CreateDescriptor(molB); var resultB = descriptor.Calculate(molB.Atoms[3]).Value; Assert.AreEqual(resultA, resultB, 0.00001); }