From: <eg...@us...> - 2008-05-22 04:26:25
|
Revision: 11112 http://cdk.svn.sourceforge.net/cdk/?rev=11112&view=rev Author: egonw Date: 2008-05-21 21:26:21 -0700 (Wed, 21 May 2008) Log Message: ----------- Removed an obsolete class Modified Paths: -------------- cdk/trunk/src/test/org/openscience/cdk/modulesuites/MextraTests.java Removed Paths: ------------- cdk/trunk/src/main/org/openscience/cdk/atomtype/ValencyMatcher.java cdk/trunk/src/test/org/openscience/cdk/atomtype/ValencyMatcherTest.java Deleted: cdk/trunk/src/main/org/openscience/cdk/atomtype/ValencyMatcher.java =================================================================== --- cdk/trunk/src/main/org/openscience/cdk/atomtype/ValencyMatcher.java 2008-05-22 04:25:55 UTC (rev 11111) +++ cdk/trunk/src/main/org/openscience/cdk/atomtype/ValencyMatcher.java 2008-05-22 04:26:21 UTC (rev 11112) @@ -1,97 +0,0 @@ -/* $Revision$ $Author$ $Date$ - * - * Copyright (C) 2005-2007 Egon Willighagen <eg...@us...> - * - * Contact: cdk...@li... - * - * 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, version 2.1. - * - * 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.atomtype; - -import org.openscience.cdk.config.AtomTypeFactory; -import org.openscience.cdk.exception.CDKException; -import org.openscience.cdk.interfaces.IAtom; -import org.openscience.cdk.interfaces.IAtomContainer; -import org.openscience.cdk.interfaces.IAtomType; -import org.openscience.cdk.interfaces.IBond; -import org.openscience.cdk.tools.LoggingTool; -import org.openscience.cdk.tools.manipulator.BondManipulator; - -/** - * AtomTypeMatcher that finds an AtomType by matching the Atom's element symbol. - * This atom type matches is not suitable for charged molecules, and requires - * bond orders to be given explitly. - * - * <p>This class uses the <b>cdk/config/data/structgen_atomtypes.xml</b> - * list. If there is not an atom type defined for the tested atom, then null - * is returned. - * - * @author egonw - * @cdk.created 2006-09-22 - * @cdk.module extra - * @cdk.svnrev $Revision$ - */ -public class ValencyMatcher implements IAtomTypeMatcher { - - private static AtomTypeFactory factory = null; - private LoggingTool logger; - - /** - * Constructor for the StructGenMatcher object. - */ - public ValencyMatcher() { - logger = new LoggingTool(this); - } - - - /** - * Finds the AtomType matching the Atom's element symbol, formal charge and - * hybridization state. - * - * @param atomContainer AtomContainer - * @param atom the target atom - * @exception CDKException Exception thrown if something goed wrong - * @return the matching AtomType - */ - public IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if (factory == null) { - try { - factory = AtomTypeFactory.getInstance("org/openscience/cdk/config/data/valency_atomtypes.xml", - atom.getBuilder()); - } catch (Exception ex1) { - logger.error(ex1.getMessage()); - logger.debug(ex1); - throw new CDKException("Could not instantiate the AtomType list!", ex1); - } - } - - double bondOrderSum = atomContainer.getBondOrderSum(atom); - IBond.Order maxBondOrder = atomContainer.getMaximumBondOrder(atom); - int charge = atom.getFormalCharge(); - int hcount = atom.getHydrogenCount() == null ? 0 : atom.getHydrogenCount(); - - IAtomType[] types = factory.getAtomTypes(atom.getSymbol()); - for (IAtomType type : types) { - logger.debug(" ... matching atom ", atom, " vs ", type); - if (bondOrderSum - charge + hcount == type.getBondOrderSum() && - !BondManipulator.isHigherOrder(maxBondOrder, type.getMaxBondOrder())) { - return type; - } - } - logger.debug(" No Match"); - - return null; - } -} - Deleted: cdk/trunk/src/test/org/openscience/cdk/atomtype/ValencyMatcherTest.java =================================================================== --- cdk/trunk/src/test/org/openscience/cdk/atomtype/ValencyMatcherTest.java 2008-05-22 04:25:55 UTC (rev 11111) +++ cdk/trunk/src/test/org/openscience/cdk/atomtype/ValencyMatcherTest.java 2008-05-22 04:26:21 UTC (rev 11112) @@ -1,720 +0,0 @@ -/* $Revision$ $Author$ $Date$ - * - * Copyright (C) 2006-2007 Egon Willighagen <eg...@us...> - * - * Contact: cdk...@li... - * - * 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.atomtype; - -import java.util.HashMap; -import java.util.Map; - -import junit.framework.JUnit4TestAdapter; - -import org.junit.Assert; -import org.junit.Test; -import org.openscience.cdk.Atom; -import org.openscience.cdk.DefaultChemObjectBuilder; -import org.openscience.cdk.Molecule; -import org.openscience.cdk.atomtype.ValencyMatcher; -import org.openscience.cdk.config.AtomTypeFactory; -import org.openscience.cdk.exception.CDKException; -import org.openscience.cdk.interfaces.IAtom; -import org.openscience.cdk.interfaces.IAtomType; -import org.openscience.cdk.interfaces.IBond; -import org.openscience.cdk.interfaces.IMolecule; -import org.openscience.cdk.nonotify.NoNotificationChemObjectBuilder; - -/** - * @cdk.module test-extra - */ -public class ValencyMatcherTest extends AbstractAtomTypeTest { - - private static Map<String, Integer> testedAtomTypes = new HashMap<String, Integer>(); - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(ValencyMatcherTest.class); - } - - @Test public void testValencyMatcher() throws ClassNotFoundException, CDKException { - ValencyMatcher matcher = new ValencyMatcher(); - Assert.assertNotNull(matcher); - } - - @Test public void testFindMatchingAtomType_IAtomContainer_IAtom() throws ClassNotFoundException, CDKException, java.lang.Exception { - Molecule mol = new Molecule(); - Atom atom = new Atom("C"); - atom.setHydrogenCount(4); - mol.addAtom(atom); - - ValencyMatcher atm = new ValencyMatcher(); - IAtomType matched = atm.findMatchingAtomType(mol, atom); - Assert.assertNotNull(matched); - Assert.assertEquals("C", matched.getSymbol()); - } - - @Test public void testN3() throws CDKException { - Molecule mol = new Molecule(); - Atom atom = new Atom("N"); - atom.setHydrogenCount(3); - mol.addAtom(atom); - - ValencyMatcher atm = new ValencyMatcher(); - IAtomType matched = atm.findMatchingAtomType(mol, atom); - Assert.assertNotNull(matched); - Assert.assertEquals("N", matched.getSymbol()); - } - - - @Test public void testFlourine() throws Exception { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom atom1 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - atom1.setHydrogenCount(0); - mol.addAtom(atom1); - for (int i = 0; i < 4; i++) { - IAtom floruineAtom = DefaultChemObjectBuilder.getInstance().newAtom("F"); - mol.addAtom(floruineAtom); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(floruineAtom, atom1); - mol.addBond(bond); - } - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "C", matched); - - for (int i = 1; i < mol.getAtomCount(); i++) { - IAtom atom = mol.getAtom(i); - matched = matcher.findMatchingAtomType(mol, atom); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "F", matched); - } - } - - @Test public void testChlorine() throws Exception { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom atom1 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - atom1.setHydrogenCount(0); - mol.addAtom(atom1); - for (int i = 0; i < 4; i++) { - IAtom floruineAtom = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - mol.addAtom(floruineAtom); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(floruineAtom, atom1); - mol.addBond(bond); - } - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "C", matched); - - for (int i = 1; i < mol.getAtomCount(); i++) { - IAtom atom = mol.getAtom(i); - matched = matcher.findMatchingAtomType(mol, atom); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "Cl", matched); - } - } - - @Test public void testBromine() throws Exception { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom atom1 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - atom1.setHydrogenCount(0); - mol.addAtom(atom1); - for (int i = 0; i < 4; i++) { - IAtom floruineAtom = DefaultChemObjectBuilder.getInstance().newAtom("Br"); - mol.addAtom(floruineAtom); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(floruineAtom, atom1); - mol.addBond(bond); - } - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "C", matched); - - for (int i = 1; i < mol.getAtomCount(); i++) { - IAtom atom = mol.getAtom(i); - matched = matcher.findMatchingAtomType(mol, atom); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "Br", matched); - } - } - - @Test public void testIodine() throws Exception { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom atom1 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - atom1.setHydrogenCount(0); - mol.addAtom(atom1); - for (int i = 0; i < 4; i++) { - IAtom floruineAtom = DefaultChemObjectBuilder.getInstance().newAtom("I"); - mol.addAtom(floruineAtom); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(floruineAtom, atom1); - mol.addBond(bond); - } - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "C", matched); - - for (int i = 1; i < mol.getAtomCount(); i++) { - IAtom atom = mol.getAtom(i); - matched = matcher.findMatchingAtomType(mol, atom); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "I", matched); - } - } - - @Test public void testLithium() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom atom1 = DefaultChemObjectBuilder.getInstance().newAtom("Li"); - IAtom atom2 = DefaultChemObjectBuilder.getInstance().newAtom("F"); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(atom1, atom2); - mol.addAtom(atom1); - mol.addAtom(atom2); - mol.addBond(bond); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "Li", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "F", matched); - } - - /* - Tests As3, Cl1 - */ - @Test public void testArsenic() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom atom1 = DefaultChemObjectBuilder.getInstance().newAtom("As"); - atom1.setHydrogenCount(0); - mol.addAtom(atom1); - for (int i = 0; i < 3; i++) { - IAtom atom = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - mol.addAtom(atom); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(atom, atom1, IBond.Order.SINGLE); - mol.addBond(bond); - } - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "As3", matched); - - for (int i = 1; i < mol.getAtomCount(); i++) { - IAtom atom = mol.getAtom(i); - matched = matcher.findMatchingAtomType(mol, atom); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "Cl", matched); - } - } - - /* - Tests C4, O2 - */ - @Test public void testOxygen1() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom carbon = DefaultChemObjectBuilder.getInstance().newAtom("C"); - IAtom o1 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o2 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - - carbon.setHydrogenCount(1); - o1.setHydrogenCount(1); - o2.setHydrogenCount(0); - - IBond bond1 = DefaultChemObjectBuilder.getInstance().newBond(carbon, o1, IBond.Order.SINGLE); - IBond bond2 = DefaultChemObjectBuilder.getInstance().newBond(carbon, o2, IBond.Order.DOUBLE); - - mol.addAtom(carbon); - mol.addAtom(o1); - mol.addAtom(o2); - mol.addBond(bond1); - mol.addBond(bond2); - - ValencyMatcher matcher = new ValencyMatcher(); - - // look at the sp2 O first - IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "O", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "C", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "O", matched); - } - - /* - Tests O2, H1 - */ - @Test public void testOxygen2() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom o1 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o2 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom h1 = DefaultChemObjectBuilder.getInstance().newAtom("H"); - IAtom h2 = DefaultChemObjectBuilder.getInstance().newAtom("H"); - - IBond bond1 = DefaultChemObjectBuilder.getInstance().newBond(h1, o1, IBond.Order.SINGLE); - IBond bond2 = DefaultChemObjectBuilder.getInstance().newBond(o1, o2, IBond.Order.SINGLE); - IBond bond3 = DefaultChemObjectBuilder.getInstance().newBond(o2, h2, IBond.Order.SINGLE); - - mol.addAtom(o1); - mol.addAtom(o2); - mol.addAtom(h1); - mol.addAtom(h2); - - mol.addBond(bond1); - mol.addBond(bond2); - mol.addBond(bond3); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "O", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "O", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "H", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(3)); - assertAtomType(testedAtomTypes, "H", matched); - } - - /* - Tests P4, S2, Cl1 - */ - @Test public void testP4() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom p = DefaultChemObjectBuilder.getInstance().newAtom("P"); - IAtom cl1 = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - IAtom cl2 = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - IAtom cl3 = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - IAtom s = DefaultChemObjectBuilder.getInstance().newAtom("S"); - - IBond bond1 = DefaultChemObjectBuilder.getInstance().newBond(p, cl1, IBond.Order.SINGLE); - IBond bond2 = DefaultChemObjectBuilder.getInstance().newBond(p, cl2, IBond.Order.SINGLE); - IBond bond3 = DefaultChemObjectBuilder.getInstance().newBond(p, cl3, IBond.Order.SINGLE); - IBond bond4 = DefaultChemObjectBuilder.getInstance().newBond(p, s, IBond.Order.DOUBLE); - - mol.addAtom(p); - mol.addAtom(cl1); - mol.addAtom(cl2); - mol.addAtom(cl3); - mol.addAtom(s); - - mol.addBond(bond1); - mol.addBond(bond2); - mol.addBond(bond3); - mol.addBond(bond4); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "P4", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(4)); - assertAtomType(testedAtomTypes, "S2", matched); - - for (int i = 1; i < 4; i++) { - matched = matcher.findMatchingAtomType(mol, mol.getAtom(i)); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "Cl", matched); - } - } - - /* - Tests P3, O2, C4 - */ - @Test public void testP3() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom p = DefaultChemObjectBuilder.getInstance().newAtom("P"); - IAtom o1 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o2 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o3 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom c1 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - IAtom c2 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - IAtom c3 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - - c1.setHydrogenCount(3); - c2.setHydrogenCount(3); - c3.setHydrogenCount(3); - - IBond bond1 = DefaultChemObjectBuilder.getInstance().newBond(p, o1, IBond.Order.SINGLE); - IBond bond2 = DefaultChemObjectBuilder.getInstance().newBond(p, o2, IBond.Order.SINGLE); - IBond bond3 = DefaultChemObjectBuilder.getInstance().newBond(p, o3, IBond.Order.SINGLE); - IBond bond4 = DefaultChemObjectBuilder.getInstance().newBond(c1, o1, IBond.Order.SINGLE); - IBond bond5 = DefaultChemObjectBuilder.getInstance().newBond(c2, o2, IBond.Order.SINGLE); - IBond bond6 = DefaultChemObjectBuilder.getInstance().newBond(c3, o3, IBond.Order.SINGLE); - - mol.addAtom(p); - mol.addAtom(o1); - mol.addAtom(o2); - mol.addAtom(o3); - mol.addAtom(c1); - mol.addAtom(c2); - mol.addAtom(c3); - - mol.addBond(bond1); - mol.addBond(bond2); - mol.addBond(bond3); - mol.addBond(bond4); - mol.addBond(bond5); - mol.addBond(bond6); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - String[] atomTypes = {"P3", "O", "O", "O", "C", "C", "C"}; - for (int i = 0; i < mol.getAtomCount(); i++) { - matched = matcher.findMatchingAtomType(mol, mol.getAtom(i)); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", atomTypes[i], matched); - } - } - - - /* Test Na1, Cl1 */ - @Test public void testNa1() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom na = DefaultChemObjectBuilder.getInstance().newAtom("Na"); - IAtom cl = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(na, cl, IBond.Order.SINGLE); - mol.addAtom(na); - mol.addAtom(cl); - mol.addBond(bond); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "Na", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "Cl", matched); - } - - /* Test Si4, C4, Cl1 */ - @Test public void testSi4() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom si = DefaultChemObjectBuilder.getInstance().newAtom("Si"); - IAtom c1 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - IAtom cl1 = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - IAtom cl2 = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - IAtom cl3 = DefaultChemObjectBuilder.getInstance().newAtom("Cl"); - - c1.setHydrogenCount(3); - - IBond bond1 = DefaultChemObjectBuilder.getInstance().newBond(si, c1, IBond.Order.SINGLE); - IBond bond2 = DefaultChemObjectBuilder.getInstance().newBond(si, cl1, IBond.Order.SINGLE); - IBond bond3 = DefaultChemObjectBuilder.getInstance().newBond(si, cl2, IBond.Order.SINGLE); - IBond bond4 = DefaultChemObjectBuilder.getInstance().newBond(si, cl3, IBond.Order.SINGLE); - - mol.addAtom(si); - mol.addAtom(c1); - mol.addAtom(cl1); - mol.addAtom(cl2); - mol.addAtom(cl3); - - mol.addBond(bond1); - mol.addBond(bond2); - mol.addBond(bond3); - mol.addBond(bond4); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "Si", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "C", matched); - - for (int i = 3; i < mol.getAtomCount(); i++) { - matched = matcher.findMatchingAtomType(mol, mol.getAtom(i)); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "Cl", matched); - } - } - - /* Tests S2, H1 */ - @Test public void testS2() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom s = DefaultChemObjectBuilder.getInstance().newAtom("S"); - s.setHydrogenCount(2); - - mol.addAtom(s); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "S2", matched); - - mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - s = DefaultChemObjectBuilder.getInstance().newAtom("S"); - IAtom h1 = DefaultChemObjectBuilder.getInstance().newAtom("H"); - IAtom h2 = DefaultChemObjectBuilder.getInstance().newAtom("H"); - IBond b1 = DefaultChemObjectBuilder.getInstance().newBond(s, h1, IBond.Order.SINGLE); - IBond b2 = DefaultChemObjectBuilder.getInstance().newBond(s, h2, IBond.Order.SINGLE); - - mol.addAtom(s); - mol.addAtom(h1); - mol.addAtom(h2); - - mol.addBond(b1); - mol.addBond(b2); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "S2", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "H", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "H", matched); - } - - /* Tests S3, O2 */ - @Test public void testS3() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom s = DefaultChemObjectBuilder.getInstance().newAtom("S"); - IAtom o1 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o2 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - - IBond b1 = DefaultChemObjectBuilder.getInstance().newBond(s, o1, IBond.Order.DOUBLE); - IBond b2 = DefaultChemObjectBuilder.getInstance().newBond(s, o2, IBond.Order.DOUBLE); - - mol.addAtom(s); - mol.addAtom(o1); - mol.addAtom(o2); - - mol.addBond(b1); - mol.addBond(b2); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "S3", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "O", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "O", matched); - } - - - /* Tests S4, Cl1 */ - @Test public void testS4() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom s = DefaultChemObjectBuilder.getInstance().newAtom("S"); - mol.addAtom(s); - for (int i = 0; i < 6; i++) { - IAtom f = DefaultChemObjectBuilder.getInstance().newAtom("F"); - mol.addAtom(f); - IBond bond = DefaultChemObjectBuilder.getInstance().newBond(s, f, IBond.Order.SINGLE); - mol.addBond(bond); - } - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "S4", matched); - - for (int i = 1; i < mol.getAtomCount(); i++) { - matched = matcher.findMatchingAtomType(mol, mol.getAtom(i)); - assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "F", matched); - } - } - - /* Tests S4, O2 */ - @Test public void testS4oxide() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom s = DefaultChemObjectBuilder.getInstance().newAtom("S"); - IAtom o1 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o2 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o3 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - - IBond b1 = DefaultChemObjectBuilder.getInstance().newBond(s, o1, IBond.Order.DOUBLE); - IBond b2 = DefaultChemObjectBuilder.getInstance().newBond(s, o2, IBond.Order.DOUBLE); - IBond b3 = DefaultChemObjectBuilder.getInstance().newBond(s, o3, IBond.Order.DOUBLE); - - mol.addAtom(s); - mol.addAtom(o1); - mol.addAtom(o2); - mol.addAtom(o3); - - mol.addBond(b1); - mol.addBond(b2); - mol.addBond(b3); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "S4", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "O", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "O", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(3)); - assertAtomType(testedAtomTypes, "O", matched); - } - - /* Tests N3, O2 */ - @Test public void testN3acid() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom n = DefaultChemObjectBuilder.getInstance().newAtom("N"); - IAtom o = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom h = DefaultChemObjectBuilder.getInstance().newAtom("H"); - - - IBond b1 = DefaultChemObjectBuilder.getInstance().newBond(n, o, IBond.Order.DOUBLE); - IBond b2 = DefaultChemObjectBuilder.getInstance().newBond(n, h, IBond.Order.SINGLE); - - - mol.addAtom(n); - mol.addAtom(o); - mol.addAtom(h); - - mol.addBond(b1); - mol.addBond(b2); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "N", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "O", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "H", matched); - } - - @Test public void testN3cyanide() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom n = DefaultChemObjectBuilder.getInstance().newAtom("N"); - IAtom c1 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - IAtom c2 = DefaultChemObjectBuilder.getInstance().newAtom("C"); - - - c1.setHydrogenCount(0); - c2.setHydrogenCount(3); - - IBond b1 = DefaultChemObjectBuilder.getInstance().newBond(n, c1, IBond.Order.TRIPLE); - IBond b2 = DefaultChemObjectBuilder.getInstance().newBond(c1, c2, IBond.Order.SINGLE); - - - mol.addAtom(n); - mol.addAtom(c1); - mol.addAtom(c2); - - mol.addBond(b1); - mol.addBond(b2); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "N", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "C", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "C", matched); - } - - - /* Tests N5, O2, C4 */ - @Test public void testN5() throws CDKException { - IMolecule mol = DefaultChemObjectBuilder.getInstance().newMolecule(); - IAtom n = DefaultChemObjectBuilder.getInstance().newAtom("N"); - IAtom o1 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom o2 = DefaultChemObjectBuilder.getInstance().newAtom("O"); - IAtom c = DefaultChemObjectBuilder.getInstance().newAtom("C"); - - c.setHydrogenCount(3); - - IBond b1 = DefaultChemObjectBuilder.getInstance().newBond(n, o1, IBond.Order.DOUBLE); - IBond b2 = DefaultChemObjectBuilder.getInstance().newBond(n, o2, IBond.Order.DOUBLE); - IBond b3 = DefaultChemObjectBuilder.getInstance().newBond(n, c, IBond.Order.SINGLE); - - mol.addAtom(n); - mol.addAtom(o1); - mol.addAtom(o2); - mol.addAtom(c); - - mol.addBond(b1); - mol.addBond(b2); - mol.addBond(b3); - - ValencyMatcher matcher = new ValencyMatcher(); - IAtomType matched; - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(0)); - assertAtomType(testedAtomTypes, "N5", matched); - - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(1)); - assertAtomType(testedAtomTypes, "O", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(2)); - assertAtomType(testedAtomTypes, "O", matched); - - matched = matcher.findMatchingAtomType(mol, mol.getAtom(3)); - assertAtomType(testedAtomTypes, "C", matched); - } - - /** - * The test seems to be run by JUnit in order in which they found - * in the source. Ugly, but @AfterClass does not work because that - * methods does cannot assert anything. - */ - @Test public void countTestedAtomTypes() { - AtomTypeFactory factory = AtomTypeFactory.getInstance( - "org/openscience/cdk/config/data/valency_atomtypes.xml", - NoNotificationChemObjectBuilder.getInstance() - ); - - IAtomType[] expectedTypes = factory.getAllAtomTypes(); - if (expectedTypes.length != testedAtomTypes.size()) { - String errorMessage = "Atom types not tested:"; - for (int i=0; i<expectedTypes.length; i++) { - if (!testedAtomTypes.containsKey(expectedTypes[i].getAtomTypeName())) - errorMessage += " " + expectedTypes[i].getAtomTypeName(); - } - Assert.assertEquals(errorMessage, - factory.getAllAtomTypes().length, - testedAtomTypes.size() - ); - } - } - -} Modified: cdk/trunk/src/test/org/openscience/cdk/modulesuites/MextraTests.java =================================================================== --- cdk/trunk/src/test/org/openscience/cdk/modulesuites/MextraTests.java 2008-05-22 04:25:55 UTC (rev 11111) +++ cdk/trunk/src/test/org/openscience/cdk/modulesuites/MextraTests.java 2008-05-22 04:26:21 UTC (rev 11112) @@ -29,7 +29,6 @@ import org.openscience.cdk.applications.APIVersionTesterTest; import org.openscience.cdk.applications.swing.MoleculeListViewer; import org.openscience.cdk.atomtype.HybridizationStateATMatcherTest; -import org.openscience.cdk.atomtype.ValencyMatcherTest; import org.openscience.cdk.fingerprint.ExtendedFingerprinterTest; import org.openscience.cdk.fingerprint.StandardSubstructureSetsTest; import org.openscience.cdk.fingerprint.SubstructureFingerprinterTest; @@ -67,7 +66,6 @@ // from cdk.test.applications suite.addTest(new JUnit4TestAdapter(APIVersionTesterTest.class)); // from cdk.test.atomtype (unstable atom type stuff) - suite.addTest(new JUnit4TestAdapter(ValencyMatcherTest.class)); suite.addTest(new JUnit4TestAdapter(HybridizationStateATMatcherTest.class)); // from cdk.test.geometry suite.addTest(RDFCalculatorTest.suite()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |