public void Test05CubicHermiteSplineInterpolateTest()
        {
            double expected = 0;
            SABRInterpolationInterface siif = SABRInterpolationInterface.Instance();
            double actual = siif.CubicHermiteSplineInterpolate(_chsXArray, null, 0);

            Assert.AreEqual(expected, actual);
        }
        public void Test07CubicHermiteSplineInterpolateTest()
        {
            double[] target = ArrayUtilities.DecimalArrayToDouble(_chsTarget);
            SABRInterpolationInterface siif = SABRInterpolationInterface.Instance();

            for (int i = 0; i < target.Length; i++)
            {
                double actual = siif.CubicHermiteSplineInterpolate(_chsXArray, _chsYArray, target[i]);
                Assert.AreEqual(_chsExpected[i], (decimal)Math.Round(actual, 2));
            }
        }
        public void Test06CubicHermiteSplineInterpolateTest()
        {
            double expected     = 10.99; //0
            double target       = 10000;
            string expectedFail = "Cubic Hermite Spline now supports extrapolation";

            try
            {
                SABRInterpolationInterface siif = SABRInterpolationInterface.Instance();
                double actual = siif.CubicHermiteSplineInterpolate(_chsXArray, _chsYArray, target);
                Assert.AreEqual(expected, actual);
            }
            catch (Exception ex)
            {
                Assert.AreEqual(expectedFail, ex.Message);
            }
        }