public static void Initialization()
        {
            LinearCurve curve1 = new LinearCurve(new CartesianCoordinate(1, 2), new CartesianCoordinate(3, 4));
            LinearCurve curve2 = new LinearCurve(new CartesianCoordinate(-1, 2), new CartesianCoordinate(-3, 4));

            IntersectionLinearLinear intersections = new IntersectionLinearLinear(curve1, curve2);

            Assert.AreEqual(curve1, intersections.Curve1);
            Assert.AreEqual(curve2, intersections.Curve2);
        }
        [TestCase(1, 1, 4, 3, 9, 5, 12, 7)] // Sloped-Sloped Parallel
        public static void IntersectionCoordinates_Static_of_Collinear_Lines_Returns_Empty_Array(
            double x1, double y1, double x2, double y2,
            double x3, double y3, double x4, double y4)
        {
            LinearCurve curve1 = new LinearCurve(new CartesianCoordinate(x1, y1), new CartesianCoordinate(x2, y2));

            curve1.Tolerance = Tolerance;
            LinearCurve curve2 = new LinearCurve(new CartesianCoordinate(x3, y3), new CartesianCoordinate(x4, y4));

            curve2.Tolerance = Tolerance;

            CartesianCoordinate[] intersectionCoordinates = IntersectionLinearLinear.IntersectionCoordinates(curve1, curve2);
            Assert.AreEqual(0, intersectionCoordinates.Length);
        }
        [TestCase(1, 1, 4, 3, 9, 6, 12, 9, true)]  // Sloped-Sloped
        public static void AreIntersecting_Static(
            double x1, double y1, double x2, double y2,
            double x3, double y3, double x4, double y4,
            bool expectedResult)
        {
            LinearCurve curve1 = new LinearCurve(new CartesianCoordinate(x1, y1), new CartesianCoordinate(x2, y2));

            curve1.Tolerance = Tolerance;
            LinearCurve curve2 = new LinearCurve(new CartesianCoordinate(x3, y3), new CartesianCoordinate(x4, y4));

            curve2.Tolerance = Tolerance;

            bool result = IntersectionLinearLinear.AreIntersecting(curve1, curve2);

            Assert.AreEqual(expectedResult, result);
        }
        [TestCase(1, 1, 4, 3, 9, 6, 12, 9, 10, 7)]       // Sloped-Sloped
        public static void IntersectionCoordinates_Static(
            double x1, double y1, double x2, double y2,
            double x3, double y3, double x4, double y4,
            double xExpected, double yExpected)
        {
            LinearCurve curve1 = new LinearCurve(new CartesianCoordinate(x1, y1), new CartesianCoordinate(x2, y2));

            curve1.Tolerance = Tolerance;
            LinearCurve curve2 = new LinearCurve(new CartesianCoordinate(x3, y3), new CartesianCoordinate(x4, y4));

            curve2.Tolerance = Tolerance;

            CartesianCoordinate[] intersectionCoordinates = IntersectionLinearLinear.IntersectionCoordinates(curve1, curve2);

            Assert.AreEqual(xExpected, intersectionCoordinates[0].X, Tolerance);
            Assert.AreEqual(yExpected, intersectionCoordinates[0].Y, Tolerance);
        }