public static void Initialization()
        {
            CurveLimit curveLimitInitialize = new CurveLimit(curve);

            Assert.AreEqual(CartesianCoordinate.Origin().X, curveLimitInitialize.Limit.X);
            Assert.AreEqual(CartesianCoordinate.Origin().Y, curveLimitInitialize.Limit.Y);
        }
        public static void GetLimitByCoordinate_Throws_ArgumentOutOfRangeException_if_Coordinate_Does_Not_Lie_On_Curve()
        {
            CartesianCoordinate     coordinate = new CartesianCoordinate(2, 2);
            ICurvePositionCartesian curve      = new LinearCurve(new CartesianCoordinate(-1, -2, Tolerance), new CartesianCoordinate(4, 3, Tolerance));

            Assert.Throws <ArgumentOutOfRangeException>(() => CurveLimit.GetLimitByCoordinate(coordinate, curve));
        }
        public static void SetLimitByCoordinate_Throws_NotSupportedException_if_Curve_Not_In_Cartesian_Coordinates()
        {
            CartesianCoordinate coordinate        = new CartesianCoordinate(1, 2);
            CurveLimit          nonCartesianLimit = new CurveLimit(new NonCartesianCurve());

            Assert.Throws <NotSupportedException>(() => nonCartesianLimit.SetLimitByCoordinate(coordinate));
        }
        public static void GetLimitByCoordinate()
        {
            CartesianCoordinate     expectedLimit = new CartesianCoordinate(2, 1, Tolerance);
            ICurvePositionCartesian curve         = new LinearCurve(new CartesianCoordinate(-1, -2, Tolerance), new CartesianCoordinate(4, 3, Tolerance));

            CartesianCoordinate limit = CurveLimit.GetLimitByCoordinate(expectedLimit, curve);

            Assert.AreEqual(expectedLimit, limit);
        }
        public static void CloneLimit()
        {
            Curve      curve      = new LinearCurve(new CartesianCoordinate(-1, -2, Tolerance), new CartesianCoordinate(4, 3, Tolerance));
            CurveLimit curveLimit = new CurveLimit(curve);

            curveLimit.SetLimitByX(2);

            CurveLimit curveLimitClone = curveLimit.CloneLimit();

            Assert.AreEqual(curveLimit.Limit, curveLimitClone.Limit);
        }
        public static void SetLimitByRotation_Throws_NotSupportedException_if_Curve_Not_In_Polar_Coordinates()
        {
            CurveLimit nonPolarLimit = new CurveLimit(new NonPolarCurve());

            Assert.Throws <NotSupportedException>(() => nonPolarLimit.SetLimitByRotation(1));
        }
 public static void Initialize()
 {
     curve           = new LinearCurve(new CartesianCoordinate(-1, -2), new CartesianCoordinate(4, 3));
     curve.Tolerance = Tolerance;
     curveLimit      = new CurveLimit(curve);
 }