public void NegativeTest() { const string formula = "C(-2) O(3)"; var composition = UnimodComposition.CreateFromFormula(formula, atomProvider); var cardinalities = composition.GetAtomCardinalities(); Assert.AreEqual(2, cardinalities.Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom); Assert.AreEqual(-2, cardinalities[0].Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("O"), cardinalities[1].Atom); Assert.AreEqual(3, cardinalities[1].Count); }
public void FucoseTest() { const string formula = "dHex"; var composition = UnimodComposition.CreateFromFormula(formula, atomProvider); var cardinalities = composition.GetAtomCardinalities(); Assert.AreEqual(1, cardinalities.Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("dHex"), cardinalities[0].Atom); Assert.AreEqual(1, cardinalities[0].Count); var chemicalFormula = composition.GetChemicalFormula(); Assert.AreEqual(146.057909, chemicalFormula.GetMass(MassType.Monoisotopic), 0.00001); Assert.AreEqual(146.1412, chemicalFormula.GetMass(MassType.Average), 0.001); }
public void WaterTest() { const string formula = "H(2) O"; var composition = UnimodComposition.CreateFromFormula(formula, atomProvider); var cardinalities = composition.GetAtomCardinalities(); Assert.AreEqual(2, cardinalities.Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("H"), cardinalities[0].Atom); Assert.AreEqual(2, cardinalities[0].Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("O"), cardinalities[1].Atom); Assert.AreEqual(1, cardinalities[1].Count); var chemicalFormula = composition.GetChemicalFormula(); Assert.AreEqual(1.007825035 * 2 + 15.99491463, chemicalFormula.GetMass(MassType.Monoisotopic), 0.00001); Assert.AreEqual(1.00794 * 2 + 15.9994, chemicalFormula.GetMass(MassType.Average), 0.00001); }
public void IsotopeTest() { const string formula = "C(-9) 13C(9)"; var composition = UnimodComposition.CreateFromFormula(formula, atomProvider); var cardinalities = composition.GetAtomCardinalities(); Assert.AreEqual(2, cardinalities.Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom); Assert.AreEqual(-9, cardinalities[0].Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("13C"), cardinalities[1].Atom); Assert.AreEqual(9, cardinalities[1].Count); IChemicalFormula chemicalFormula = composition.GetChemicalFormula(); var elements = chemicalFormula.GetElements(); Assert.AreEqual(2, elements.Count); Assert.AreEqual(-9, elements.Single(x => x.Entity.Symbol == "C").Count); Assert.AreEqual(9, elements.Single(x => x.Entity.Symbol == "13C").Count); }
public void SingleAtomTest() { var composition = UnimodComposition.CreateFromFormula("C", atomProvider); var cardinalities = composition.GetAtomCardinalities(); Assert.AreEqual(1, cardinalities.Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom); Assert.AreEqual(1, cardinalities[0].Count); composition = UnimodComposition.CreateFromFormula("C(1)", atomProvider); cardinalities = composition.GetAtomCardinalities(); Assert.AreEqual(1, cardinalities.Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom); Assert.AreEqual(1, cardinalities[0].Count); composition = UnimodComposition.CreateFromFormula("C(100)", atomProvider); cardinalities = composition.GetAtomCardinalities(); Assert.AreEqual(1, cardinalities.Count); Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom); Assert.AreEqual(100, cardinalities[0].Count); }
public void InvalidArgumentsStrings() { Assert.Throws <ArgumentNullException>(() => UnimodComposition.CreateFromFormula(null, atomProvider)); Assert.Throws <ArgumentNullException>(() => UnimodComposition.CreateFromFormula(string.Empty, atomProvider)); }
/// <summary> /// Gets the chemical formula. /// </summary> /// <param name="modification">The modification.</param> /// <returns></returns> protected override IChemicalFormula GetChemicalFormula(UnimodModification modification) { var composition = UnimodComposition.CreateFromFormula(modification.DeltaComposition, _atomProvider); return(composition.GetChemicalFormula()); }