From: <sh...@us...> - 2008-06-27 10:54:51
|
Revision: 11448 http://cdk.svn.sourceforge.net/cdk/?rev=11448&view=rev Author: shk3 Date: 2008-06-27 03:54:46 -0700 (Fri, 27 Jun 2008) Log Message: ----------- added a test for bug #1524466 Modified Paths: -------------- cdk/branches/cdk-1.0.x/src/org/openscience/cdk/test/io/MDLWriterTest.java Modified: cdk/branches/cdk-1.0.x/src/org/openscience/cdk/test/io/MDLWriterTest.java =================================================================== --- cdk/branches/cdk-1.0.x/src/org/openscience/cdk/test/io/MDLWriterTest.java 2008-06-27 10:46:52 UTC (rev 11447) +++ cdk/branches/cdk-1.0.x/src/org/openscience/cdk/test/io/MDLWriterTest.java 2008-06-27 10:54:46 UTC (rev 11448) @@ -26,6 +26,8 @@ import java.io.StringWriter; +import javax.vecmath.Point2d; + import junit.framework.Test; import junit.framework.TestSuite; @@ -36,13 +38,13 @@ import org.openscience.cdk.Molecule; import org.openscience.cdk.MoleculeSet; import org.openscience.cdk.PseudoAtom; -import org.openscience.cdk.io.MDLWriter; -import org.openscience.cdk.test.CDKTestCase; - +import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemObjectBuilder; import org.openscience.cdk.interfaces.IMolecule; +import org.openscience.cdk.io.MDLWriter; +import org.openscience.cdk.test.CDKTestCase; /** * TestCase for the writer MDL mol files using one test file. @@ -133,4 +135,42 @@ String output = writer.toString(); assertEquals("Test for zero length pseudo atom label in MDL file", -1, output.indexOf("0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0")); } + + + /** + * JCP was reported to leave out the M END for molecules with R groups + * @cdk.bug 1524466 + */ + public void testBug1524466() throws CDKException{ + IMolecule mol = new Molecule(); + IAtom a1 = mol.getBuilder().newAtom("C"); + a1.setPoint2d(new Point2d(467.99999999999994, 417.0)); mol.addAtom(a1); + IAtom a2 = mol.getBuilder().newAtom("C"); + a2.setPoint2d(new Point2d(436.8230854637602, 435.0)); mol.addAtom(a2); + IAtom a3 = mol.getBuilder().newAtom("C"); + a3.setPoint2d(new Point2d(436.8230854637602, 471.00000000000006)); mol.addAtom(a3); + IAtom a4 = mol.getBuilder().newAtom("C"); + a4.setPoint2d(new Point2d(468.0, 489.0)); mol.addAtom(a4); + IAtom a5 = mol.getBuilder().newAtom("C"); + a5.setPoint2d(new Point2d(499.1769145362398, 471.0)); mol.addAtom(a5); + IAtom a6 = mol.getBuilder().newPseudoAtom("R"); + a6.setPoint2d(new Point2d(499.1769145362398, 435.0)); mol.addAtom(a6); + IBond b1 = mol.getBuilder().newBond(a1, a2, 1.0); + mol.addBond(b1); + IBond b2 = mol.getBuilder().newBond(a2, a3, 1.0); + mol.addBond(b2); + IBond b3 = mol.getBuilder().newBond(a3, a4, 1.0); + mol.addBond(b3); + IBond b4 = mol.getBuilder().newBond(a4, a5, 1.0); + mol.addBond(b4); + IBond b5 = mol.getBuilder().newBond(a5, a6, 1.0); + mol.addBond(b5); + IBond b6 = mol.getBuilder().newBond(a6, a1, 1.0); + mol.addBond(b6); + StringWriter writer = new StringWriter(); + MDLWriter mdlWriter = new MDLWriter(writer); + mdlWriter.write(mol); + String output = writer.toString(); + assertFalse(output.indexOf("M END")==-1); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |