/** * Returns the string representation of the molecule formula based on Hill * System with numbers wrapped in <sub></sub> tags. Useful for * displaying formulae in Swing components or on the web. * * * @param formula The IMolecularFormula object * @return A HTML representation of the molecular formula * @see #getHTML(IMolecularFormula, boolean, boolean) * */ public static String getHTML(IMolecularFormula formula) { return getHTML(formula, true, true); }
/** * Returns the string representation of the molecule formula based on Hill * System with numbers wrapped in <sub></sub> tags and the * isotope of each Element in <sup></sup> tags and the total * charge of IMolecularFormula in <sup></sup> tags. Useful for * displaying formulae in Swing components or on the web. * * * @param formula The IMolecularFormula object * @param chargeB True, If it has to show the charge * @param isotopeB True, If it has to show the Isotope mass * @return A HTML representation of the molecular formula * @see #getHTML(IMolecularFormula) * */ public static String getHTML(IMolecularFormula formula, boolean chargeB, boolean isotopeB) { String[] orderElements; if (containsElement(formula, formula.getBuilder().newInstance(IElement.class, "C"))) orderElements = generateOrderEle_Hill_WithCarbons(); else orderElements = generateOrderEle_Hill_NoCarbons(); return getHTML(formula, orderElements, chargeB, isotopeB); }
@Test public void testGetHTML_IMolecularFormula_boolean_boolean() { MolecularFormula formula = new MolecularFormula(); formula.addIsotope(builder.newInstance(IIsotope.class, "C"), 10); Assert.assertEquals("C<sub>10</sub>", MolecularFormulaManipulator.getHTML(formula, true, false)); formula.setCharge(1); Assert.assertEquals("C<sub>10</sub><sup>+</sup>", MolecularFormulaManipulator.getHTML(formula, true, false)); formula.setCharge(formula.getCharge() - 2); Assert.assertEquals("C<sub>10</sub><sup>–</sup>", MolecularFormulaManipulator.getHTML(formula, true, false)); }
@Test public void nullIsotopeLabels() { MolecularFormula formula = new MolecularFormula(); formula.addIsotope(builder.newInstance(IIsotope.class, "C"), 10); Assert.assertEquals("C<sub>10</sub>", MolecularFormulaManipulator.getHTML(formula, true, false)); formula.setCharge(1); Assert.assertEquals("C<sub>10</sub><sup>+</sup>", MolecularFormulaManipulator.getHTML(formula, true, true)); formula.setCharge(formula.getCharge() - 2); Assert.assertEquals("C<sub>10</sub><sup>–</sup>", MolecularFormulaManipulator.getHTML(formula, true, true)); }
return MolecularFormulaManipulator.getHTML(wholeModel, true, false);
.getHTML(MolecularFormulaManipulator .getMolecularFormula(ac), true, false); status = makeStatusBarString(formula, implicitHs);
@Test public void htmlFormulaDoesNotAddSubscriptForSingleElements() { MolecularFormula formula = new MolecularFormula(); formula.addIsotope(builder.newInstance(IIsotope.class, "C"), 1); formula.addIsotope(builder.newInstance(IIsotope.class, "H"), 4); Assert.assertEquals("CH<sub>4</sub>", MolecularFormulaManipulator.getHTML(formula)); }
@Test public void testGetHTML_IMolecularFormula_arrayString_boolean_boolean() { IMolecularFormula formula = new MolecularFormula(); formula.addIsotope(builder.newInstance(IIsotope.class, "C"), 2); formula.addIsotope(builder.newInstance(IIsotope.class, "H"), 2); String[] newOrder = new String[2]; newOrder[0] = "H"; newOrder[1] = "C"; Assert.assertEquals("H<sub>2</sub>C<sub>2</sub>", MolecularFormulaManipulator.getHTML(formula, newOrder, false, false)); }
@Test public void testGetHTML_IMolecularFormulaWithIsotope() { MolecularFormula formula = new MolecularFormula(); formula.addIsotope(ifac.getMajorIsotope("C"), 2); formula.addIsotope(ifac.getMajorIsotope("H"), 6); Assert.assertEquals("<sup>12</sup>C<sub>2</sub><sup>1</sup>H<sub>6</sub>", MolecularFormulaManipulator.getHTML(formula, false, true)); }
@Test public void testGetHTML_IMolecularFormulaWithIsotopeAndCharge() { MolecularFormula formula = new MolecularFormula(); formula.addIsotope(ifac.getMajorIsotope("C"), 2); formula.addIsotope(ifac.getMajorIsotope("H"), 6); formula.setCharge(1); Assert.assertEquals("<sup>12</sup>C<sub>2</sub><sup>1</sup>H<sub>6</sub><sup>+</sup>", MolecularFormulaManipulator.getHTML(formula, true, true)); }
@Test public void testGetHTML_IMolecularFormula() { MolecularFormula formula = new MolecularFormula(); formula.addIsotope(builder.newInstance(IIsotope.class, "C"), 8); formula.addIsotope(builder.newInstance(IIsotope.class, "H"), 10); formula.addIsotope(builder.newInstance(IIsotope.class, "Cl"), 2); formula.addIsotope(builder.newInstance(IIsotope.class, "O"), 2); Assert.assertEquals("C<sub>8</sub>H<sub>10</sub>Cl<sub>2</sub>O<sub>2</sub>", MolecularFormulaManipulator.getHTML(formula)); }