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

📄 templatehandlertest.java

📁 化学图形处理软件
💻 JAVA
字号:
/* *  $RCSfile$ *  $Author: egonw $ *  $Date: 2007-03-10 13:32:01 +0000 (Sa, 10 Mrz 2007) $ *  $Revision: 8072 $ * *  Copyright (C) 2003-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.layout;import junit.framework.Test;import junit.framework.TestSuite;import org.openscience.cdk.DefaultChemObjectBuilder;import org.openscience.cdk.Molecule;import org.openscience.cdk.applications.swing.MoleculeViewer2D;import org.openscience.cdk.interfaces.IMolecule;import org.openscience.cdk.layout.StructureDiagramGenerator;import org.openscience.cdk.layout.TemplateHandler;import org.openscience.cdk.smiles.SmilesParser;import org.openscience.cdk.templates.MoleculeFactory;import org.openscience.cdk.test.CDKTestCase;import org.openscience.cdk.tools.LoggingTool;/** *  Description of the Class * * @cdk.module test-extra * *@author     steinbeck *@cdk.created    September 4, 2003 * @cdk.require java1.4+ */public class TemplateHandlerTest extends CDKTestCase{	/**	 *  Description of the Field	 */	public boolean standAlone = false;	private LoggingTool logger = null;	private SmilesParser sp = null;	private StructureDiagramGenerator sdg = null;	/**	 *  Constructor for the TemplateHandlerTest object	 *	 *@param  name  Description of the Parameter	 */	public TemplateHandlerTest(String name)	{		super(name);	}	/**	 *  The JUnit setup method	 */	public void setUp() throws Exception	{        super.setUp();		logger = new LoggingTool(this);		sdg = new StructureDiagramGenerator();		sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());	}	/**	 *  A unit test suite for JUnit	 *	 *@return    The test suite	 */	public static Test suite()	{		return new TestSuite(TemplateHandlerTest.class);	}	/**	 *  A unit test for JUnit	 *	 *@exception  Exception  Description of the Exception	 */	public void testInit() throws Exception	{		TemplateHandler th = new TemplateHandler(DefaultChemObjectBuilder.getInstance());				assertTrue(th.getTemplateCount() > 0);	}	public void testDetection() throws Exception	{		TemplateHandler th = new TemplateHandler(DefaultChemObjectBuilder.getInstance());		String smiles = "CC12C3(C6CC6)C4(C)C1C5(C(CC)C)C(C(CC)C)2C(C)3C45CC(C)C";		IMolecule mol = sp.parseSmiles(smiles);		assertTrue(th.mapTemplates(mol));	}		public void testAddMolecule() throws Exception	{		logger.debug("***TestAddMolecule***");		boolean itIsInThere = false;		TemplateHandler th = new TemplateHandler(DefaultChemObjectBuilder.getInstance());		IMolecule mol = MoleculeFactory.makeAlphaPinene();		sdg.setMolecule(mol); sdg.generateCoordinates(); mol = sdg.getMolecule();		String smiles = "C1=C(C)C2CC(C1)C2(C)(C)";		IMolecule smilesMol = sp.parseSmiles(smiles);		itIsInThere = th.mapTemplates(smilesMol);		logger.debug("Alpha-Pinene found by templateMapper: " + itIsInThere);		assertFalse(itIsInThere);		th.addMolecule(mol);		logger.debug("now adding template for alpha-Pinen and trying again.");		itIsInThere = th.mapTemplates(smilesMol);		logger.debug("Alpha-Pinene found by templateMapper: " + itIsInThere);		assertTrue(itIsInThere);	}	public void testRemoveMolecule() throws Exception	{		logger.debug("***TestRemoveMolecule***");		boolean itIsInThere = false;		TemplateHandler th = new TemplateHandler(DefaultChemObjectBuilder.getInstance());		IMolecule mol = MoleculeFactory.makeAlphaPinene();		sdg.setMolecule(mol); sdg.generateCoordinates(); mol = sdg.getMolecule();				String smiles = "C1=C(C)C2CC(C1)C2(C)(C)";		IMolecule smilesMol = sp.parseSmiles(smiles);		itIsInThere = th.mapTemplates(smilesMol);		logger.debug("Alpha-Pinene found by templateMapper: " + itIsInThere);		assertFalse(itIsInThere);		th.addMolecule(mol);		logger.debug("now adding template for alpha-Pinen and trying again.");		itIsInThere = th.mapTemplates(smilesMol);		logger.debug("Alpha-Pinene found by templateMapper: " + itIsInThere);		assertTrue(itIsInThere);		logger.debug("now removing template for alpha-Pinen again and trying again.");		th.removeMolecule(mol);		itIsInThere = th.mapTemplates(smilesMol);		logger.debug("Alpha-Pinene found by templateMapper: " + itIsInThere);		assertFalse(itIsInThere);			}		public void visualLayout() throws Exception	{		String smiles = "CC12C3(C6CC6)C4(C)C1C5(C(CC)C)C(C(CC)C)2C(C)3C45CC(C)C";		IMolecule mol = sp.parseSmiles(smiles);		MoleculeViewer2D.display(mol, true);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -