public void Stoichiometry_CreateConversionTable2() { ChemicalEquation.PTable = new PeriodicTable("..\\..\\..\\Chemistry-Solver\\data\\ElementData.csv"); var stoichiometry = new Stoichiometry(); var equation = new ChemicalEquation("1Al_(1) + 1Cl_(2) --> 1Al_(1)Cl_(3)"); equation.Balance(); var canceledUnit = $"{equation.Reactants[0].Item2}{equation.Reactants[0].Item1.ToString()} mass"; var remainingUnit = $"{equation.Products[0].Item2}{equation.Products[0].Item1.ToString()} moles"; stoichiometry.CreateConversionTable(equation); stoichiometry.UnitConverter.InputValue = new ConversionValue(1d, new[] { canceledUnit }, null, equation.ToString()); stoichiometry.UnitConverter.ConversionRatio = stoichiometry.UnitConverter.ConversionTable.GetConversionValue(canceledUnit, remainingUnit); var actual = stoichiometry.UnitConverter.PerformConversion(); canceledUnit = $"{equation.Reactants[1].Item2}{equation.Reactants[1].Item1.ToString()} mass"; stoichiometry.UnitConverter.InputValue = new ConversionValue(1d, new[] { canceledUnit }, null, equation.ToString()); stoichiometry.UnitConverter.ConversionRatio = stoichiometry.UnitConverter.ConversionTable.GetConversionValue(canceledUnit, remainingUnit); var actual2 = stoichiometry.UnitConverter.PerformConversion(); }
public void Stoichiometry_BaselineCase_Pass(string file, string group, double intensity, double baseline, Boolean useful) { Intensity Testintensity = new Intensity(file, group, intensity); Stoichiometry TestStoichiometry = new Stoichiometry(Testintensity, baseline); Assert.AreEqual(Testintensity.IntensityVal / baseline, TestStoichiometry.StoichiometryVal); Assert.AreEqual(useful, TestStoichiometry.usefulStoichiometry); }
public void Stoichiometry_PeptidePeptideCase_Pass(string file, string group, double intensity1, double intensity2, bool useful, double stoich) { Intensity Testintensity1 = new Intensity(file, group, intensity1); Intensity Testintensity2 = new Intensity(file, group, intensity2); Stoichiometry TestStoichiometry = new Stoichiometry(Testintensity1, Testintensity2); Assert.That(TestStoichiometry.StoichiometryVal, Is.EqualTo(stoich).Within(0.001)); Assert.AreEqual(useful, TestStoichiometry.usefulStoichiometry); }
/// <summary> /// Clears equation information from the window, effectively resetting it back to default values. /// </summary> /// <param name="sender">The button that sent the event.</param> /// <param name="e">The event's arguments.</param> public void ClearEquationInputButtonClick(object sender, EventArgs e) { stoichiometry_ = new Stoichiometry(); model_.Equation.Reactants.Clear(); model_.Equation.Products.Clear(); tbox_equation_input.Clear(); tbox_input_amount.Clear(); tbox_output_amount.Clear(); cbox_input_molecule.Items.Clear(); cbox_output_molecule.Items.Clear(); }
public double GetStoichiometricFactor(MolecularComponent comp) { var pair = Stoichiometry.FirstOrDefault(s => s.Component == comp); if (pair != null) { return(pair.StoichiometricFactor); } else { return(0); } }
public void Stoichiometry_CreateConversionTable() { ChemicalEquation.PTable = new PeriodicTable("..\\..\\..\\Chemistry-Solver\\data\\ElementData.csv"); var stoichiometry = new Stoichiometry(); var equation = new ChemicalEquation("1H_(2) + 1O_(2) --> 1H_(2)O_(1)"); equation.Balance(); var canceledUnit = $"{equation.Reactants[0].Item2}{equation.Reactants[0].Item1.ToString()} moles"; var remainingUnit = $"{equation.Reactants[1].Item2}{equation.Reactants[1].Item1.ToString()} moles"; stoichiometry.CreateConversionTable(equation); stoichiometry.UnitConverter.InputValue = new ConversionValue(14d, new[] { canceledUnit }, null, equation.ToString()); stoichiometry.UnitConverter.ConversionRatio = stoichiometry.UnitConverter.ConversionTable.GetConversionValue(canceledUnit, remainingUnit); var actual = stoichiometry.UnitConverter.PerformConversion(); var expected = new ConversionValue(7d, new[] { remainingUnit }, null, equation.ToString()); Assert.AreEqual(expected, actual); }