public static void CurvatureParametric(
            double xPrime, double yPrime,
            double xPrimeDouble, double yPrimeDouble,
            double expected)
        {
            double result = GeometryLibrary.CurvatureParametric(xPrime, yPrime, xPrimeDouble, yPrimeDouble);

            Assert.AreEqual(expected, result, Tolerance);
        }
        /// <summary>
        /// Curvature of the curve in local coordinates about the local origin that corresponds to the parametric coordinate given.
        /// </summary>
        /// <param name="relativePosition">The relative position, s. Relative position must be between 0 and 1.</param>
        /// <returns>System.Double.</returns>
        public virtual double CurvatureByPosition(double relativePosition)
        {
            double xPrime       = xPrimeByParameter(relativePosition);
            double yPrime       = yPrimeByParameter(relativePosition);
            double xPrimeDouble = xPrimeDoubleByParameter(relativePosition);
            double yPrimeDouble = yPrimeDoubleByParameter(relativePosition);

            return(GeometryLibrary.CurvatureParametric(xPrime, yPrime, xPrimeDouble, yPrimeDouble));
        }
 public static void CurvatureParametric_Throws_DivideByZeroException(
     double xPrime, double yPrime,
     double xPrimeDouble, double yPrimeDouble)
 {
     Assert.Throws <DivideByZeroException>(() => GeometryLibrary.CurvatureParametric(xPrime, yPrime, xPrimeDouble, yPrimeDouble));
 }