/** * Pretty-print the MFs of this isotope container. * @return the MFs */ String getFormulasString() { StringBuilder sb = new StringBuilder(); for (IMolecularFormula mf : getFormulas()) { if (sb.length() != 0) sb.append(", "); sb.append(MolecularFormulaManipulator.getString(mf, false, true)); } return sb.toString(); }
@Test public void testRoundTripCharge() { String f = "[C3H7]+"; IMolecularFormula m = MolecularFormulaManipulator.getMolecularFormula(f, SilentChemObjectBuilder.getInstance()); assertThat(MolecularFormulaManipulator.getString(m), is("[C3H7]+")); } }
@Test public void parseMFMass() throws Exception { String str = "C7H3[81]BrBrO3"; IChemObjectBuilder builder = SilentChemObjectBuilder.getInstance(); IMolecularFormula mf = MolecularFormulaManipulator.getMolecularFormula(str, builder); assertThat(MolecularFormulaManipulator.getString(mf, false, true), is("C7H3Br[81]BrO3")); }
public SingleStructureRandomGeneratorTest() throws Exception { System.out.println("Instantiating MoleculeListViewer"); System.out.println("Instantiating SingleStructureRandomGenerator"); ssrg = new SingleStructureRandomGenerator(); System.out.println("Assining unbonded set of atoms"); AtomContainer ac = getBunchOfUnbondedAtoms(); mf = MolecularFormulaManipulator.getString(MolecularFormulaManipulator.getMolecularFormula(ac)); System.out.println("Molecular Formula is: " + mf); ssrg.setAtomContainer(ac); }
@Test public void protonatePhenolate() throws Exception { IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance(); IMolecularFormula mf = MolecularFormulaManipulator.getMolecularFormula("[C6H5O]-", bldr); assertTrue(MolecularFormulaManipulator.adjustProtonation(mf, +1)); assertThat(MolecularFormulaManipulator.getString(mf), is("C6H6O")); assertThat(mf.getCharge(), is(0)); assertThat(mf.getIsotopeCount(), is(3)); }
@Test public void deprontateHCl() throws Exception { IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance(); IMolecularFormula mf = MolecularFormulaManipulator.getMolecularFormula("HCl", bldr); assertTrue(MolecularFormulaManipulator.adjustProtonation(mf, -1)); assertThat(MolecularFormulaManipulator.getString(mf), is("[Cl]-")); assertThat(mf.getCharge(), is(-1)); assertThat(mf.getIsotopeCount(), is(1)); }
@Test public void protonatePhenolateMajorIsotopes() throws Exception { IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance(); IMolecularFormula mf = MolecularFormulaManipulator.getMajorIsotopeMolecularFormula("[C6H5O]-", bldr); assertTrue(MolecularFormulaManipulator.adjustProtonation(mf, +1)); assertThat(MolecularFormulaManipulator.getString(mf), is("C6H6O")); assertThat(mf.getCharge(), is(0)); assertThat(mf.getIsotopeCount(), is(3)); }
@Test public void prontateChloride() throws Exception { IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance(); IMolecularFormula mf = MolecularFormulaManipulator.getMolecularFormula("[Cl]-", bldr); assertTrue(MolecularFormulaManipulator.adjustProtonation(mf, +1)); assertThat(MolecularFormulaManipulator.getString(mf), is("ClH")); assertThat(mf.getCharge(), is(0)); assertThat(mf.getIsotopeCount(), is(2)); }
@Test public void deprotonatePhenol() throws Exception { IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance(); IMolecularFormula mf = MolecularFormulaManipulator.getMolecularFormula("C6H6O", bldr); assertTrue(MolecularFormulaManipulator.adjustProtonation(mf, -1)); assertThat(MolecularFormulaManipulator.getString(mf), is("[C6H5O]-")); assertThat(mf.getCharge(), is(-1)); }
/** Test if formula-order is independent of isotope-insertion order */ @Test public void testGetString_IMolecularFormula() { IMolecularFormula mf1 = new MolecularFormula(); mf1.addIsotope(builder.newInstance(IIsotope.class, "C"), 10); mf1.addIsotope(builder.newInstance(IIsotope.class, "H"), 16); Assert.assertEquals("C10H16", MolecularFormulaManipulator.getString(mf1)); IMolecularFormula mf2 = new MolecularFormula(); mf2.addIsotope(builder.newInstance(IAtom.class, "H"), 16); mf2.addIsotope(builder.newInstance(IAtom.class, "C"), 10); Assert.assertEquals("C10H16", MolecularFormulaManipulator.getString(mf2)); Assert.assertEquals(MolecularFormulaManipulator.getString(mf2), MolecularFormulaManipulator.getString(mf1)); }
/** Test if formula re-ordering to a user-specified element order works */ @Test public void testGetString_IMolecularFormula_arrayString_boolean() { IMolecularFormula formula = new MolecularFormula(); formula.addIsotope(builder.newInstance(IIsotope.class, "C"), 2); formula.addIsotope(builder.newInstance(IIsotope.class, "H"), 2); Assert.assertEquals("C2H2", MolecularFormulaManipulator.getString(formula)); String[] newOrder = new String[2]; newOrder[0] = "H"; newOrder[1] = "C"; Assert.assertEquals("H2C2", MolecularFormulaManipulator.getString(formula, newOrder, true)); }
@Test public void testGetString_IMolecularFormula_Empty() { String stringMF = MolecularFormulaManipulator.getString(new MolecularFormula()); Assert.assertNotNull(stringMF); Assert.assertEquals("", stringMF); }
@Test public void testMassNumberDisplay() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope br81 = ifac.getIsotope("Br", 81); IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance(); IMolecularFormula mf = bldr.newInstance(IMolecularFormula.class); mf.addIsotope(new Atom("C"), 7); mf.addIsotope(new Atom("O"), 3); mf.addIsotope(new Atom("H"), 3); mf.addIsotope(new Atom("Br"), 1); mf.addIsotope(ifac.getIsotope("Br", 81), 1); assertThat(MolecularFormulaManipulator.getString(mf, false, false), is("C7H3Br2O3")); assertThat(MolecularFormulaManipulator.getString(mf, false, true), is("C7H3Br[81]BrO3")); }
/** * @cdk.bug 3340660 */ @Test public void testHelium() { IAtomContainer helium = new AtomContainer(); helium.addAtom(new Atom("He")); IMolecularFormula formula = MolecularFormulaManipulator.getMolecularFormula(helium); Assert.assertNotNull(formula); Assert.assertEquals("He", MolecularFormulaManipulator.getString(formula)); }
/** * Test setOne parameter for {@link MolecularFormulaManipulator#getString(IMolecularFormula, boolean)} */ @Test public void testGetString_IMolecularFormula_boolean() { IMolecularFormula mf1 = new MolecularFormula(); mf1.addIsotope(builder.newInstance(IIsotope.class, "C"), 1); mf1.addIsotope(builder.newInstance(IIsotope.class, "H"), 4); Assert.assertEquals("C1H4", MolecularFormulaManipulator.getString(mf1, true)); }
/** * @cdk.bug 2276507 */ @Test public void testBug2276507() { IMolecularFormula mf1 = new MolecularFormula(); mf1.addIsotope(builder.newInstance(IIsotope.class, "C"), 1); mf1.addIsotope(builder.newInstance(IIsotope.class, "H"), 4); Assert.assertEquals("CH4", MolecularFormulaManipulator.getString(mf1)); }
/** * @cdk.bug 3340660 */ @Test public void testAmericum() { IAtomContainer helium = new AtomContainer(); helium.addAtom(new Atom("Am")); IMolecularFormula formula = MolecularFormulaManipulator.getMolecularFormula(helium); Assert.assertNotNull(formula); Assert.assertEquals("Am", MolecularFormulaManipulator.getString(formula)); }
/** Test if formulae group elements when not inserted simultaneously */ @Test public void testGetString_Isotopes() { IMolecularFormula mf1 = new MolecularFormula(); mf1.addIsotope(builder.newInstance(IIsotope.class, "C", 12), 9); mf1.addIsotope(builder.newInstance(IIsotope.class, "C", 13), 1); mf1.addIsotope(builder.newInstance(IIsotope.class, "H"), 16); Assert.assertEquals("C10H16", MolecularFormulaManipulator.getString(mf1)); }
/** Test if formula-comparison is simplify-independant */ @Test public void test6() { String formula = "(CH3)2"; IMolecularFormula formula1 = new MolecularFormula(); formula1.addIsotope(builder.newInstance(IIsotope.class, "C"), 2); formula1.addIsotope(builder.newInstance(IIsotope.class, "H"), 6); IMolecularFormula ff = MolecularFormulaManipulator.getMolecularFormula(formula, builder); Assert.assertTrue(MolecularFormulaManipulator.compare(formula1, MolecularFormulaManipulator.getMolecularFormula(formula, builder))); Assert.assertEquals("C2H6", MolecularFormulaManipulator.getString(ff)); }
@Test public void testSimplifygetMF() { String formula = "CH4.H2O"; IMolecularFormula formula1 = new MolecularFormula(); formula1.addIsotope(builder.newInstance(IIsotope.class, "C"), 1); formula1.addIsotope(builder.newInstance(IIsotope.class, "H"), 6); formula1.addIsotope(builder.newInstance(IIsotope.class, "O"), 1); IMolecularFormula ff = MolecularFormulaManipulator.getMolecularFormula(formula, builder); Assert.assertTrue(MolecularFormulaManipulator.compare(formula1, MolecularFormulaManipulator.getMolecularFormula(formula, builder))); Assert.assertEquals("CH6O", MolecularFormulaManipulator.getString(ff)); }