public void LineSegment_ProjectOntoPlane_ShouldReturnVectorProjection_IfVectorLengthIsNotZero()
        {
            LineSegment lineSegment = new LineSegment(Point.MakePointWithInches(1, 1, 1));
            Plane plane = new Plane(Direction.Right);

            Vector vector = new Vector(lineSegment.BasePoint, lineSegment.EndPoint);

            lineSegment.ProjectOntoPlane(plane).Should().Be(new LineSegment(vector.ProjectOntoPlane(plane)));
        }
        public void LineSegment_ProjectOntoPlane_ShouldThrowException_IfPlaneIsNull()
        {
            LineSegment lineSegment = new LineSegment(Point.MakePointWithInches(1, 1, 1));
            Plane plane = null;

            Action project = () => lineSegment.ProjectOntoPlane(plane);
            project.ShouldThrow<Exception>();
        }
        public void LineSegment_ProjectOntoPlane_ShouldReturnNull_IfVectorLengthIsZero()
        {
            LineSegment lineSegment = new LineSegment(Point.MakePointWithInches(1, 0, 0));
            Plane plane = new Plane(Direction.Right);

            lineSegment.ProjectOntoPlane(plane).Should().BeNull();
        }