예제 #1
0
        public void TestIOPropPropagation()
        {
            IAtomContainer mol = TestMoleculeFactory.MakeBenzene();

            foreach (var atom in mol.Atoms)
            {
                atom.IsAromatic = true;
            }
            foreach (var bond in mol.Bonds)
            {
                bond.IsAromatic = true;
            }

            StringWriter strWriter = new StringWriter();
            SDFWriter    writer    = new SDFWriter(strWriter);

            var sdfWriterProps = new NameValueCollection();

            sdfWriterProps["WriteAromaticBondTypes"] = "true";
            writer.Listeners.Add(new PropertiesListener(sdfWriterProps));
            writer.CustomizeJob();
            writer.Write(mol);
            writer.Close();

            string output = strWriter.ToString();

            Assert.IsTrue(output.Contains("4  0  0  0  0"));
        }
예제 #2
0
        public void TestWrite_IAtomContainerSet_Properties_Off()
        {
            StringWriter writer = new StringWriter();
            IChemObjectSet <IAtomContainer> molSet = new ChemObjectSet <IAtomContainer>();
            var molecule = builder.NewAtomContainer();

            molecule.Atoms.Add(new Atom("C"));
            molecule.SetProperty("foo", "bar");
            molSet.Add(molecule);

            SDFWriter sdfWriter      = new SDFWriter(writer);
            var       sdfWriterProps = new NameValueCollection();

            sdfWriterProps["writeProperties"] = "false";
            sdfWriter.Listeners.Add(new PropertiesListener(sdfWriterProps));
            sdfWriter.CustomizeJob();
            sdfWriter.Write(molSet);
            sdfWriter.Close();
            string result = writer.ToString();

            Assert.IsFalse(result.Contains("<foo>"));
        }