📄 bondtest.java
字号:
/* $RCSfile$ * $Author: egonw $ * $Date: 2007-01-04 17:32:54 +0000 (Do, 04 Jan 2007) $ * $Revision: 7635 $ * * Copyright (C) 2002-2007 The Chemistry Development Kit (CDK) project * * Contact: cdk-devel@lists.sourceforge.net * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * */package org.openscience.cdk.test;import javax.vecmath.Point2d;import javax.vecmath.Point3d;import junit.framework.Test;import junit.framework.TestSuite;import org.openscience.cdk.CDKConstants;import org.openscience.cdk.DefaultChemObjectBuilder;import org.openscience.cdk.interfaces.IAtom;import org.openscience.cdk.interfaces.IBond;import org.openscience.cdk.interfaces.IChemObjectBuilder;/** * Checks the functionality of the Bond class. * * @cdk.module test-data * * @see org.openscience.cdk.Bond */public class BondTest extends CDKTestCase { protected IChemObjectBuilder builder; public BondTest(String name) { super(name); } public void setUp() { builder = DefaultChemObjectBuilder.getInstance(); } public static Test suite() { return new TestSuite(BondTest.class); } public void testBond() { IBond bond = builder.newBond(); assertEquals(2, bond.getAtomCount()); assertTrue(bond.getAtom(0) == null); assertTrue(bond.getAtom(1) == null); assertTrue(bond.getOrder() == 0.0); assertEquals(CDKConstants.STEREO_BOND_NONE, bond.getStereo()); } public void testBond_IAtom_IAtom() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond bond = builder.newBond(c, o); assertEquals(2, bond.getAtomCount()); assertEquals(c, bond.getAtom(0)); assertEquals(o, bond.getAtom(1)); assertEquals(1.0, bond.getOrder(), 0.0001); assertEquals(CDKConstants.STEREO_BOND_NONE, bond.getStereo()); } public void testBond_IAtom_IAtom_double() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond bond = builder.newBond(c, o, 2.0); assertEquals(2, bond.getAtomCount()); assertEquals(c, bond.getAtom(0)); assertEquals(o, bond.getAtom(1)); assertTrue(bond.getOrder() == 2.0); assertEquals(CDKConstants.STEREO_BOND_NONE, bond.getStereo()); } public void testBond_IAtom_IAtom_double_int() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond bond = builder.newBond(c, o, 1.0, CDKConstants.STEREO_BOND_UP); assertEquals(2, bond.getAtomCount()); assertEquals(c, bond.getAtom(0)); assertEquals(o, bond.getAtom(1)); assertTrue(bond.getOrder() == 1.0); assertEquals(CDKConstants.STEREO_BOND_UP, bond.getStereo()); } public void testCompare_Object() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0); // C=O bond IBond b2 = builder.newBond(c, o, 2.0); // same C=O bond assertTrue(b.compare(b2)); } public void testContains_IAtom() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0); // C=O bond assertTrue(b.contains(c)); assertTrue(b.contains(o)); } public void testGetAtomCount() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0); // C=O bond assertEquals(2.0, b.getAtomCount(), 0.001); } public void testSetAtoms_arrayIAtom() { IAtom[] atomsToAdd = new IAtom[2]; atomsToAdd[0] = builder.newAtom("C"); atomsToAdd[1] = builder.newAtom("O"); IBond b = builder.newBond(); b.setAtoms(atomsToAdd); assertEquals(2, b.getAtomCount()); assertEquals(atomsToAdd[0], b.getAtom(0)); assertEquals(atomsToAdd[1], b.getAtom(1)); } public void testAtoms() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0); // C=O bond java.util.Iterator atoms = b.atoms(); assertEquals(2, b.getAtomCount()); assertTrue(atoms.hasNext()); assertEquals(c, atoms.next()); assertTrue(atoms.hasNext()); assertEquals(o, atoms.next()); assertFalse(atoms.hasNext()); } public void testGetAtom_int() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0); // C=O bond assertEquals(c, b.getAtom(0)); assertEquals(o, b.getAtom(1)); } public void testSetAtom_IAtom_int() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(); b.setAtom(c, 0); b.setAtom(o, 1); assertEquals(c, b.getAtom(0)); assertEquals(o, b.getAtom(1)); } public void testGetConnectedAtom_IAtom() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0); // C=O bond assertEquals(c, b.getConnectedAtom(o)); assertEquals(o, b.getConnectedAtom(c)); // test default return value assertNull(b.getConnectedAtom(builder.newAtom())); } public void testIsConnectedTo_IBond() { IAtom c1 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c2 = builder.newAtom("C"); IAtom c3 = builder.newAtom("C"); IBond b1 = builder.newBond(c1, o); IBond b2 = builder.newBond(o, c2); IBond b3 = builder.newBond(c2, c3); assertTrue(b1.isConnectedTo(b2)); assertTrue(b2.isConnectedTo(b1)); assertTrue(b2.isConnectedTo(b3)); assertTrue(b3.isConnectedTo(b2)); assertFalse(b1.isConnectedTo(b3)); assertFalse(b3.isConnectedTo(b1)); } public void testGetOrder() { IBond b = builder.newBond(builder.newAtom("C"), builder.newAtom("O"), 2.0); // C=O bond assertEquals(2.0, b.getOrder(), 0.001); } public void testSetOrder_double() { IBond b = builder.newBond(builder.newAtom("C"), builder.newAtom("O"), 2.0); // C=O bond assertEquals(2.0, b.getOrder(), 0.001); b.setOrder(1.0); assertEquals(1.0, b.getOrder(), 0.001); } public void testSetStereo_int() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0, CDKConstants.STEREO_BOND_DOWN); b.setStereo(CDKConstants.STEREO_BOND_UP); assertEquals(CDKConstants.STEREO_BOND_UP, b.getStereo()); } public void testGetStereo() { IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IBond b = builder.newBond(c, o, 2.0, CDKConstants.STEREO_BOND_UP); assertEquals(CDKConstants.STEREO_BOND_UP, b.getStereo()); } public void testGet2DCenter() { IAtom o = builder.newAtom("O", new Point2d(0.0, 0.0)); IAtom c = builder.newAtom("C", new Point2d(1.0, 1.0)); IBond b = builder.newBond(c,o); assertEquals(0.5, b.get2DCenter().x, 0.001); assertEquals(0.5, b.get2DCenter().y, 0.001); } public void testGet3DCenter() { IAtom o = builder.newAtom("O", new Point3d(0.0, 0.0, 0.0)); IAtom c = builder.newAtom("C", new Point3d(1.0, 1.0, 1.0)); IBond b = builder.newBond(c,o); assertEquals(0.5, b.get3DCenter().x, 0.001); assertEquals(0.5, b.get3DCenter().y, 0.001); assertEquals(0.5, b.get3DCenter().z, 0.001); } public void testClone() throws Exception { IBond bond = builder.newBond(); Object clone = bond.clone(); assertNotNull(clone); assertTrue(clone instanceof org.openscience.cdk.interfaces.IBond); } public void testClone_IAtom() throws Exception { IAtom atom1 = builder.newAtom("C"); IAtom atom2 = builder.newAtom("O"); IBond bond = builder.newBond(atom1, atom2); IBond clone = (IBond)bond.clone(); // test cloning of atoms assertNotSame(atom1, clone.getAtom(0)); assertNotSame(atom2, clone.getAtom(1)); } public void testClone_Order() throws Exception { IAtom atom1 = builder.newAtom("C"); IAtom atom2 = builder.newAtom("O"); IBond bond = builder.newBond(atom1, atom2, 1.0); IBond clone = (IBond)bond.clone(); // test cloning of bond order bond.setOrder(2.0); assertEquals(1.0, clone.getOrder(), 0.01); } public void testClone_Stereo() throws Exception { IAtom atom1 = builder.newAtom("C"); IAtom atom2 = builder.newAtom("O"); IBond bond = builder.newBond(atom1, atom2, 1.0, 1); IBond clone = (IBond)bond.clone(); // test cloning of bond order bond.setStereo(2); assertEquals(1, clone.getStereo()); } /** Test for RFC #9 */ public void testToString() { IBond bond = builder.newBond(); String description = bond.toString(); for (int i=0; i< description.length(); i++) { assertTrue(description.charAt(i) != '\n'); assertTrue(description.charAt(i) != '\r'); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -