public void GetIntegral_TestCase_BenchmarkNumericalIntegrator(double lowerBound, double upperBound)
        {
            var piecewiseConstantInterpolator = GetTestCaseInterpolatorObject();

            double actual = piecewiseConstantInterpolator.GetIntegral(lowerBound, upperBound);

            BenchmarkIntegrator benchmarkIntegrator = new BenchmarkIntegrator();

            benchmarkIntegrator.FunctionToIntegrate = piecewiseConstantInterpolator.GetValue;

            double expected = benchmarkIntegrator.GetValue(lowerBound, upperBound);

            Assert.That(actual, Is.EqualTo(expected).Within(1E-2));  // the Benchmark is not accurate for such a discontinous function
        }
        public void GetIntegral_TestCase_BenchmarkNumericalIntegrator(double lowerBound, double upperBound)
        {
            var interpolator = GetTestCaseInterpolatorObject();

            double actual = interpolator.GetIntegral(lowerBound, upperBound);

            BenchmarkIntegrator benchmarkIntegrator = new BenchmarkIntegrator();

            benchmarkIntegrator.FunctionToIntegrate = interpolator.GetValue;

            double expected = benchmarkIntegrator.GetValue(lowerBound, upperBound);

            Assert.That(actual, Is.EqualTo(expected).Within(1E-6));
        }