⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bondtest.java

📁 化学图形处理软件
💻 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 + -