@Test(expected=CDKException.class) public void wrongFormat() throws CDKException { InputStream in = ClassLoader.getSystemResourceAsStream("data/mdl/bug1356.sdf"); MDLReader reader = new MDLReader(in, Mode.STRICT); IChemFile chemfile = DefaultChemObjectBuilder.getInstance().newInstance(IChemFile.class); chemfile = reader.read(chemfile); } }
/** * @cdk.bug 2714283 * @throws InvalidSmilesException */ @Test(expected = InvalidSmilesException.class) public void testBadRingClosure2() throws InvalidSmilesException { SmilesParser p = new SmilesParser(DefaultChemObjectBuilder.getInstance()); p.parseSmiles("NC1=CC=C(N)C=C"); }
@Test public void testH2S_Hybridization() throws Exception { IAtomContainer mol = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class); IAtom s = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "S"); s.setHybridization(Hybridization.SP3); mol.addAtom(s); String[] expectedTypes = {"S.3"}; assertAtomTypes(testedAtomTypes, expectedTypes, mol); }
/** * The JUnit setup method */ @BeforeClass public static void setUp() throws Exception { sdg = new StructureDiagramGenerator(); sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); }
@Test public void e_butene_0D() throws Exception { InputStream in = getClass().getResourceAsStream("/data/mdl/e_butene_0d.mol"); MDLV2000Reader reader = new MDLV2000Reader(in); IAtomContainer molecule = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class); molecule = reader.read(molecule); reader.close(); assertNotNull(molecule); assertFalse(molecule.stereoElements().iterator().hasNext()); }
@Test public void testCompare_RingSize() { // Create some IAtomContainers IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); IRing cycloPentane = builder.newInstance(IRing.class, 5, "C"); IRing cycloHexane = builder.newInstance(IRing.class, 6, "C"); // Instantiate the comparator Comparator<IAtomContainer> comparator = new AtomContainerComparator(); Assert.assertEquals("cycloPentane <-> cycloHexane", -1, comparator.compare(cycloPentane, cycloHexane)); Assert.assertEquals("cycloPentane <-> cycloPentane", 0, comparator.compare(cycloPentane, cycloPentane)); Assert.assertEquals("cycloHexane <-> cycloPentane", 1, comparator.compare(cycloHexane, cycloPentane)); }
@Test public void testSMILESTitles() throws Exception { String filename = "data/smiles/tabs.smi"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); IteratingSMILESReader reader = new IteratingSMILESReader(ins, DefaultChemObjectBuilder.getInstance()); while (reader.hasNext()) { IAtomContainer mol = (IAtomContainer) reader.next(); String title = (String) mol.getProperty(CDKConstants.TITLE); Assert.assertNotNull(title); } }
@Test public void testAtomValueLines() throws Exception { String filename = "data/mdl/atomValueLines.mol"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); IAtomContainer testMolecule = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class); IAtomContainer result = reader.read(testMolecule); reader.close(); IAtom oxygen = result.getAtom(0); assertTrue(oxygen.getSymbol().equals("O")); Assert.assertEquals(oxygen.getProperty(CDKConstants.COMMENT), "Oxygen comment"); }
@Test public void testSingleTripletRadical() throws Exception { InputStream in = ClassLoader.getSystemResourceAsStream("data/mdl/singleTripletRadical.mol"); MDLV2000Reader reader = new MDLV2000Reader(in); IAtomContainer molecule = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class); molecule = reader.read(molecule); reader.close(); assertThat(molecule.getConnectedSingleElectronsCount(molecule.getAtom(1)), is(2)); }
/** * @cdk.bug 884993 */ public void testBug884993() throws Exception { SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol = sp.parseSmiles("[N+](=O)([O-])C1=C(O)C(=CC(=C1)[N+](=O)[O-])[N+](=O)[O-].C23N(CCCC2)CCCC3"); IAtomContainer ac = layout(mol); assertTrue(GeometryUtil.has2DCoordinates(ac)); }
/** * A unit test for JUnit with n,n-dimethyl ethylendiamine */ @Test public void testCalculateBondPolarizability_IAtomContainer_IBond() throws Exception { Polarizability pol = new Polarizability(); SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol = sp.parseSmiles("NCCN(C)(C)"); double result = pol.calculateBondPolarizability((IAtomContainer) mol, mol.getBond(0)); Assert.assertFalse(Double.isNaN(result)); }
/** * @cdk.bug 3048501 */ @Test public void testPrParsing() throws InvalidSmilesException { SmilesParser p = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol = p.parseSmiles("[Pr]"); Assert.assertEquals("Pr", mol.getAtom(0).getSymbol()); }
@Test public void test_Tl_plus() throws Exception { IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); IAtomContainer mol = builder.newInstance(IAtomContainer.class); IAtom a1 = builder.newInstance(IAtom.class, "Tl"); a1.setFormalCharge(1); mol.addAtom(a1); String[] expectedTypes = {"Tl.plus"}; assertAtomTypes(testedAtomTypes, expectedTypes, mol); }
@Test public void test_Ba_2plus() throws Exception { IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); IAtomContainer mol = builder.newInstance(IAtomContainer.class); IAtom a1 = builder.newInstance(IAtom.class, "Ba"); a1.setFormalCharge(2); mol.addAtom(a1); String[] expectedTypes = {"Ba.2plus"}; assertAtomTypes(testedAtomTypes, expectedTypes, mol); }
@Test public void test_Cd_metallic() throws Exception { IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); IAtomContainer mol = builder.newInstance(IAtomContainer.class); IAtom a1 = builder.newInstance(IAtom.class, "Cd"); a1.setFormalCharge(0); mol.addAtom(a1); String[] expectedTypes = {"Cd.metallic"}; assertAtomTypes(testedAtomTypes, expectedTypes, mol); }
/** * @cdk.bug 2596061 */ @Test public void testRoundTripPseudoAtom() throws Exception { SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); String smiles = "[12*H2-]"; IAtomContainer mol = sp.parseSmiles(smiles); SmilesGenerator smilesGenerator = SmilesGenerator.isomeric(); String genSmiles = smilesGenerator.create(mol); Assert.assertEquals(smiles, genSmiles); }
@Test public void testPreserveAromaticityAndPerceiveAtomTypes() throws Exception { SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); sp.kekulise(false); IAtomContainer molecule = sp.parseSmiles("c1ccccc1"); atomtype(molecule); Assert.assertNotNull(molecule.getAtom(0).getAtomTypeName()); }
@Test public void testPartialFilledStructureMerger4() throws Exception { SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainerSet acs = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainerSet.class); acs.addAtomContainer(sp.parseSmiles("[C]CCC[CH2]")); acs.addAtomContainer(sp.parseSmiles("[C]CC[CH2]")); acs.addAtomContainer(sp.parseSmiles("[CH2]")); PartialFilledStructureMerger pfsm = new PartialFilledStructureMerger(); IAtomContainer result = pfsm.generate(acs); Assert.assertTrue(ConnectivityChecker.isConnected(result)); Assert.assertTrue(new SaturationChecker().allSaturated(result)); }
@Test public void testExplicitH() throws Exception { SmilesParser p = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol; mol = p.parseSmiles("CO[H]"); Assert.assertEquals(3, mol.getAtomCount()); mol = p.parseSmiles("[CH3][OH]"); Assert.assertEquals(2, mol.getAtomCount()); mol = p.parseSmiles("C([H])([H])([H])O([H])"); Assert.assertEquals(6, mol.getAtomCount()); }
@Test public void testBondOrderSum() throws InvalidSmilesException { SmilesParser parser = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol = parser.parseSmiles("C=CC"); double bosum = AtomContainerManipulator.getBondOrderSum(mol, mol.getAtom(0)); Assert.assertEquals(2.0, bosum, 0.001); bosum = AtomContainerManipulator.getBondOrderSum(mol, mol.getAtom(1)); Assert.assertEquals(3.0, bosum, 0.001); bosum = AtomContainerManipulator.getBondOrderSum(mol, mol.getAtom(2)); Assert.assertEquals(1.0, bosum, 0.001); }