public static void CloneCurve() { ParabolicCurve curveCloned = curve.CloneCurve(); Assert.AreEqual(curve.Focus, curveCloned.Focus); Assert.AreEqual(curve.Directrix.ControlPointI, curveCloned.Directrix.ControlPointI); Assert.AreEqual(curve.Directrix.ControlPointJ, curveCloned.Directrix.ControlPointJ); Assert.AreEqual(curve.DistanceFromDirectrixToLocalOrigin, curveCloned.DistanceFromDirectrixToLocalOrigin, Tolerance); Assert.AreEqual(curve.DistanceFromFocusToDirectrix, curveCloned.DistanceFromFocusToDirectrix, Tolerance); Assert.AreEqual(curve.DistanceFromFocusToLocalOrigin, curveCloned.DistanceFromFocusToLocalOrigin, Tolerance); Assert.AreEqual(curve.DistanceFromVertexMajorToLocalOrigin, curveCloned.DistanceFromVertexMajorToLocalOrigin, Tolerance); Assert.AreEqual(curve.DistanceFromVertexMinorToMajorAxis, curveCloned.DistanceFromVertexMinorToMajorAxis, Tolerance); Assert.AreEqual(curve.SemilatusRectumDistance, curveCloned.SemilatusRectumDistance, Tolerance); Assert.AreEqual(curve.Eccentricity, curveCloned.Eccentricity, Tolerance); Assert.AreEqual(curve.LocalOrigin, curveCloned.LocalOrigin); Assert.AreEqual(curve.Rotation, curveCloned.Rotation); Assert.AreEqual(curve.VerticesMajor.Item1, curveCloned.VerticesMajor.Item1); Assert.AreEqual(curve.VerticesMajor.Item2, curveCloned.VerticesMajor.Item2); Assert.AreEqual(curve.VerticesMinor.Item1, curveCloned.VerticesMinor.Item1); Assert.AreEqual(curve.VerticesMinor.Item2, curveCloned.VerticesMinor.Item2); Assert.AreEqual(curve.Range.Start.Limit, curveCloned.Range.Start.Limit); Assert.AreEqual(curve.Range.End.Limit, curveCloned.Range.End.Limit); }