public void GetValue_ThreeTimesXSquare_BenchmarkResult(IOneDimNumericalIntegratorAlgorithm numericalIntegrator) { double lowerBound = 1.0; double upperBound = 10.0; Assume.That(numericalIntegrator.TrySetBounds(lowerBound, upperBound) == true, String.Format("1-dimensional Integrator {0} does not support individual lower/upper bounds", numericalIntegrator.Factory.Name.String)); numericalIntegrator.FunctionToIntegrate = x => 3.0 * x * x; double expected = upperBound * upperBound * upperBound - lowerBound * lowerBound * lowerBound; var actual = numericalIntegrator.GetValue(); Assert.That(actual, Is.EqualTo(expected).Within(1E-4), String.Format("1-dimensional integrator {0}.", numericalIntegrator.Factory.Name)); }
public void GetValue_ExponentialFunction_BenchmarkResult(IOneDimNumericalIntegratorAlgorithm numericalIntegrator) { double lowerBound = 1.0; double upperBound = 10.0; Assume.That(numericalIntegrator.TrySetBounds(lowerBound, upperBound) == true, String.Format("1-dimensional Integrator {0} does not support individual lower/upper bounds", numericalIntegrator.Factory.Name.String)); numericalIntegrator.FunctionToIntegrate = x => Math.Exp(x); double expected = Math.Exp(upperBound) - Math.Exp(lowerBound); double actual = numericalIntegrator.GetValue(); Assert.That(actual, Is.EqualTo(expected).Within(1E-1), String.Format("1-dimensional integrator {0}.", numericalIntegrator.Factory.Name)); }