private String writeToStr(IAtomContainer mol) throws IOException, CDKException { StringWriter sw = new StringWriter(); try (MDLV3000Writer mdlw = new MDLV3000Writer(sw)) { mdlw.write(mol); } return sw.toString(); }
mdlWriter = new MDLV3000Writer(stringWriter); else mdlWriter = new MDLV2000Writer(stringWriter);
private void initIOSettings() { paramWriteData = addSetting(new BooleanIOSetting("writeProperties", IOSetting.Importance.LOW, "Should molecule properties be written as non-structural data", "true")); paramWriteV3000 = addSetting(new BooleanIOSetting("writeV3000", IOSetting.Importance.LOW, "Write all records as V3000", "false")); addSettings(new MDLV2000Writer().getSettings()); addSettings(new MDLV3000Writer().getSettings()); }
@Test public void writeDimensionField() throws Exception { IChemObjectBuilder builder = SilentChemObjectBuilder.getInstance(); IAtomContainer mol = builder.newAtomContainer(); IAtom atom = builder.newAtom(); atom.setSymbol("C"); atom.setImplicitHydrogenCount(4); atom.setPoint2d(new Point2d(0.5, 0.5)); mol.addAtom(atom); StringWriter sw = new StringWriter(); try (MDLV3000Writer mdlw = new MDLV3000Writer(sw)) { mdlw.write(mol); } assertThat(sw.toString(), containsString("2D")); }
@Test public void writeDimensionField3D() throws Exception { IChemObjectBuilder builder = SilentChemObjectBuilder.getInstance(); IAtomContainer mol = builder.newAtomContainer(); IAtom atom = builder.newAtom(); atom.setSymbol("C"); atom.setImplicitHydrogenCount(4); atom.setPoint3d(new Point3d(0.5, 0.5, 0.1)); mol.addAtom(atom); StringWriter sw = new StringWriter(); try (MDLV3000Writer mdlw = new MDLV3000Writer(sw)) { mdlw.write(mol); } assertThat(sw.toString(), containsString("3D")); }