public static void DifferentialSecond(double position, double expectedValueX, double expectedValueY) { CartesianParametricEquationXY parametricPrimeSecond = parametric.DifferentialSecond(); double xValue = parametricPrimeSecond.Xcomponent.ValueAt(position); Assert.AreEqual(expectedValueX, xValue); double yValue = parametricPrimeSecond.Ycomponent.ValueAt(position); Assert.AreEqual(expectedValueY, yValue); // No third differential Assert.IsFalse(parametricPrimeSecond.HasDifferential()); }
public static void Differentiate_Differentiates_Equations(double position, double expectedX, double expectedY, double expectedXPrime, double expectedYPrime, double expectedXPrimePrime, double expectedYPrimePrime) { // Base function double xValue = parametric.Xcomponent.ValueAt(position); Assert.AreEqual(expectedX, xValue); double yValue = parametric.Ycomponent.ValueAt(position); Assert.AreEqual(expectedY, yValue); // First differential Assert.IsTrue(parametric.HasDifferential()); CartesianParametricEquationXY parametricPrime = parametric.Differentiate(); double xValuePrime = parametricPrime.Xcomponent.ValueAt(position); Assert.AreEqual(expectedXPrime, xValuePrime); double yValuePrime = parametricPrime.Ycomponent.ValueAt(position); Assert.AreEqual(expectedYPrime, yValuePrime); // Second differential Assert.IsTrue(parametricPrime.HasDifferential()); CartesianParametricEquationXY parametricPrimePrime = parametricPrime.Differentiate(); double xValuePrimePrime = parametricPrimePrime.Xcomponent.ValueAt(position); Assert.AreEqual(expectedXPrimePrime, xValuePrimePrime); double yValuePrimePrime = parametricPrimePrime.Ycomponent.ValueAt(position); Assert.AreEqual(expectedYPrimePrime, yValuePrimePrime); // No third differential Assert.IsFalse(parametricPrimePrime.HasDifferential()); }
/// <summary> /// Determines whether this instance can be differentiated further. /// </summary> /// <returns><c>true</c> if this instance has differential; otherwise, <c>false</c>.</returns> public bool HasDifferential() { return(_curveParametric.HasDifferential()); }