/** {@inheritDoc} */ @Override public void setCharge(Integer charge) { logger.debug("Setting the charge to: ", charge); super.setCharge(charge); }
/** * Clones this MolecularFormula object and its content. I should * integrate into ChemObject. * * @return The cloned object */ @Override public Object clone() throws CloneNotSupportedException { // /* it is not a super class of chemObject */ // MolecularFormula clone = (MolecularFormula) super.clone(); // // start from scratch // clone.removeAllIsotopes(); // // clone all isotopes // Iterator<IIsotope> iterIso = this.isotopes(); // while(iterIso.hasNext()){ // IIsotope isotope = iterIso.next(); // clone.addIsotope((IIsotope) isotope.clone(),getIsotopeCount(isotope)); // } MolecularFormula clone = new MolecularFormula(); for (IIsotope isotope : isotopes()) { clone.addIsotope((IIsotope) isotope.clone(), getIsotopeCount(isotope)); } clone.setCharge(getCharge()); return clone; }
/** * Clones this MolecularFormula object and its content. I should * integrate into ChemObject. * * @return The cloned object */ @Override public Object clone() throws CloneNotSupportedException { // /* it is not a super class of chemObject */ // MolecularFormula clone = (MolecularFormula) super.clone(); // // start from scratch // clone.removeAllIsotopes(); // // clone all isotopes // Iterator<IIsotope> iterIso = this.isotopes(); // while(iterIso.hasNext()){ // IIsotope isotope = iterIso.next(); // clone.addIsotope((IIsotope) isotope.clone(),getIsotopeCount(isotope)); // } MolecularFormula clone = new MolecularFormula(); for (IIsotope isotope : isotopes()) { clone.addIsotope((IIsotope) isotope.clone(), getIsotopeCount(isotope)); } clone.setCharge(getCharge()); return clone; }
@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)); }
@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)); }