📄 atomcontainertest.java
字号:
IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); assertEquals(0, acetone.getBondNumber(b1)); assertEquals(1, acetone.getBondNumber(b2)); assertEquals(2, acetone.getBondNumber(b3)); // test the default return value assertEquals(-1, acetone.getBondNumber(builder.newBond())); } public void testGetBondNumber_IAtom_IAtom() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); assertEquals(0, acetone.getBondNumber(c1, c2)); assertEquals(1, acetone.getBondNumber(c1, o)); assertEquals(2, acetone.getBondNumber(c1, c3)); } public void testGetBond_IAtom_IAtom() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); assertTrue(b1.equals(acetone.getBond(c1, c2))); assertTrue(b2.equals(acetone.getBond(c1, o))); assertTrue(b3.equals(acetone.getBond(c1, c3))); // test the default return value assertNull(acetone.getBond(builder.newAtom(), builder.newAtom())); } // public void testGetConnectedAtoms_IAtom() {// IMolecule acetone = builder.newMolecule();// IAtom c1 = builder.newAtom("C");// IAtom c2 = builder.newAtom("C");// IAtom o = builder.newAtom("O");// IAtom c3 = builder.newAtom("C");// acetone.addAtom(c1);// acetone.addAtom(c2);// acetone.addAtom(c3);// acetone.addAtom(o);// IBond b1 = builder.newBond(c1, c2,1);// IBond b2 = builder.newBond(c1, o, 2);// IBond b3 = builder.newBond(c1, c3,1);// acetone.addBond(b1);// acetone.addBond(b2);// acetone.addBond(b3);// // assertEquals(3, acetone.getConnectedAtomsList(c1).length);// assertEquals(1, acetone.getConnectedAtoms(c2).length);// assertEquals(1, acetone.getConnectedAtoms(c3).length);// assertEquals(1, acetone.getConnectedAtoms(o).length);// } public void testGetConnectedAtomsList_IAtom() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); assertEquals(3, acetone.getConnectedAtomsList(c1).size()); assertEquals(1, acetone.getConnectedAtomsList(c2).size()); assertEquals(1, acetone.getConnectedAtomsList(c3).size()); assertEquals(1, acetone.getConnectedAtomsList(o).size()); } public void testGetConnectedAtomsCount_IAtom() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); assertEquals(3, acetone.getConnectedAtomsCount(c1)); assertEquals(1, acetone.getConnectedAtomsCount(c2)); assertEquals(1, acetone.getConnectedAtomsCount(c3)); assertEquals(1, acetone.getConnectedAtomsCount(o)); } public void testGetLonePairCount() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); // add lone pairs on oxygen ILonePair lp1 = builder.newLonePair(o); ILonePair lp2 = builder.newLonePair(o); acetone.addLonePair(lp1); acetone.addLonePair(lp2); assertEquals(2, acetone.getLonePairCount()); } public void testGetConnectedLonePairsCount_IAtom() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); // add lone pairs on oxygen ILonePair lp1 = builder.newLonePair(o); ILonePair lp2 = builder.newLonePair(o); acetone.addLonePair(lp1); acetone.addLonePair(lp2); assertEquals(2, acetone.getConnectedLonePairsCount(o)); assertEquals(0, acetone.getConnectedLonePairsCount(c2)); assertEquals(0, acetone.getConnectedLonePairsCount(c3)); assertEquals(0, acetone.getConnectedLonePairsCount(c1)); } public void testGetBondOrderSum_IAtom() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); // add lone pairs on oxygen ILonePair lp1 = builder.newLonePair(o); ILonePair lp2 = builder.newLonePair(o); acetone.addLonePair(lp1); acetone.addLonePair(lp2); assertEquals(4.0, acetone.getBondOrderSum(c1), 0.00001); assertEquals(1.0, acetone.getBondOrderSum(c2), 0.00001); assertEquals(1.0, acetone.getBondOrderSum(c3), 0.00001); assertEquals(2.0, acetone.getBondOrderSum(o), 0.00001); } public void testGetBondCount_IAtom() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); // add lone pairs on oxygen ILonePair lp1 = builder.newLonePair(o); ILonePair lp2 = builder.newLonePair(o); acetone.addLonePair(lp1); acetone.addLonePair(lp2); assertEquals(3, acetone.getConnectedBondsCount(c1)); assertEquals(1, acetone.getConnectedBondsCount(c2)); assertEquals(1, acetone.getConnectedBondsCount(c3)); assertEquals(1, acetone.getConnectedBondsCount(o)); } public void testGetBondCount_int() { IMolecule acetone = builder.newMolecule(); IAtom c1 = builder.newAtom("C"); IAtom c2 = builder.newAtom("C"); IAtom o = builder.newAtom("O"); IAtom c3 = builder.newAtom("C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = builder.newBond(c1, c2,1); IBond b2 = builder.newBond(c1, o, 2); IBond b3 = builder.newBond(c1, c3,1); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); // add lone pairs on oxygen ILonePair lp1 = builder.newLonePair(o); ILonePair lp2 = builder.newLonePair(o); acetone.addLonePair(lp1); acetone.addLonePair(lp2); assertEquals(3, acetone.getConnectedBondsCount(0)); assertEquals(1, acetone.getConnectedBondsCount(1)); assertEquals(1, acetone.getConnectedBondsCount(2)); assertEquals(1, acetone.getConnectedBondsCount(3)); } public void testGetAtomParity_IAtom() { IAtom carbon = builder.newAtom("C"); carbon.setID("central"); IAtom carbon1 = builder.newAtom("C"); carbon1.setID("c1"); IAtom carbon2 = builder.newAtom("C"); carbon2.setID("c2"); IAtom carbon3 = builder.newAtom("C"); carbon3.setID("c3"); IAtom carbon4 = builder.newAtom("C"); carbon4.setID("c4"); int parityInt = 1; IAtomParity parity = builder.newAtomParity(carbon, carbon1, carbon2, carbon3, carbon4, parityInt); IAtomContainer container = builder.newAtomContainer(); container.addAtomParity(parity); org.openscience.cdk.interfaces.IAtomParity copy = container.getAtomParity(carbon); assertNotNull(copy); assertEquals(parity, copy); } /** Test for RFC #9 */ public void testToString() { IAtomContainer container = builder.newAtomContainer(); String description = container.toString(); for (int i=0; i< description.length(); i++) { assertTrue(description.charAt(i) != '\n'); assertTrue(description.charAt(i) != '\r'); } } public void testStateChanged_IChemObjectChangeEvent() { ChemObjectListenerImpl listener = new ChemObjectListenerImpl(); IAtomContainer chemObject = builder.newAtomContainer(); chemObject.addListener(listener); chemObject.addAtom(builder.newAtom()); assertTrue(listener.changed); listener.reset(); assertFalse(listener.changed); chemObject.addBond(builder.newBond(builder.newAtom(), builder.newAtom())); assertTrue(listener.changed); } private class ChemObjectListenerImpl implements IChemObjectListener { private boolean changed; private ChemObjectListenerImpl() { changed = false; } public void stateChanged(IChemObjectChangeEvent e) { changed = true; } public void reset() { changed = false; } } public void testAddAtomParity_IAtomParity() { testGetAtomParity_IAtom(); } public void testGetConnectedSingleElectronsCount_IAtom() { // another rather artifial example IMolecule acetone = builder.newMolecule(); IAtom c = builder.newAtom("C"); IAtom o = builder.newAtom("O"); acetone.addAtom(c); acetone.addAtom(o); IBond b1 = builder.newBond(c, o, 2.0); acetone.addBond(b1); ISingleElectron single1 = builder.newSingleElectron(c); ISingleElectron single2 = builder.newSingleElectron(c); ISingleElectron single3 = builder.newSingleElectron(o); acetone.addSingleElectron(single1); acetone.addSingleElectron(single2); acetone.addSingleElectron(single3); assertEquals(2, aceton
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -