public void ClassifyLineToLine_GivenLine1SpanningLine2_ShouldReturnIntersecting(
            double line1v1x, double line1v1y,
            double line1v2x, double line1v2y,
            double line2v1x, double line2v1y,
            double line2v2x, double line2v2y)
        {
            // Arrange.
            var line1vertex1 = new Point2d(line1v1x, line1v1y);
            var line1vertex2 = new Point2d(line1v2x, line1v2y);
            var line2vertex1 = new Point2d(line2v1x, line2v1y);
            var line2vertex2 = new Point2d(line2v2x, line2v2y);

            var line1 = new Line2d(line1vertex1, line1vertex2);
            var line2 = new Line2d(line2vertex1, line2vertex2);

            // Act.
            LineClassifier.Classification result = LineClassifier.ClassifyLineToLine(line1, line2);

            // Assert.
            Assert.AreEqual(LineClassifier.Classification.Intersecting, result);
        }
        public void ClassifyLineToLine_GivenCoincidentLines_ShouldReturnCoincident(
            double line1v1x, double line1v1y,
            double line1v2x, double line1v2y,
            double line2v1x, double line2v1y,
            double line2v2x, double line2v2y)
        {
            // Arrange.
            var line1vertex1 = new Point2d(line1v1x, line1v1y);
            var line1vertex2 = new Point2d(line1v2x, line1v2y);
            var line2vertex1 = new Point2d(line2v1x, line2v1y);
            var line2vertex2 = new Point2d(line2v2x, line2v2y);

            var line1 = new Line2d(line1vertex1, line1vertex2);
            var line2 = new Line2d(line2vertex1, line2vertex2);

            // Act.
            LineClassifier.Classification result = LineClassifier.ClassifyLineToLine(line1, line2);

            // Assert.
            Assert.AreEqual(LineClassifier.Classification.Coincident, result);
        }