public void Not_empty_multipoint_but_no_overlap_should_not_intersect_with_point()
        {
            var multiPoint = new MultiPoint(new[] { new Point(110, 50), new Point(120, 60) });
            var point      = new Point(100, 50);

            multiPoint.IsIntersects(point).Should().BeFalse();
            multiPoint.Intersection(point).Should().BeNull();
        }
        public void Empty_multipoint_should_not_intersect_with_point()
        {
            var multiPoint = new MultiPoint();
            var point      = new Point(100, 50);

            multiPoint.IsIntersects(point).Should().BeFalse();
            multiPoint.Intersection(point).Should().BeNull();
        }
        public void Not_empty_multipoint_with_overlap_should_get_point()
        {
            var multiPoint1 = new MultiPoint(new[] { new Point(110, 50), new Point(120, 60) });
            var multiPoint2 = new MultiPoint(new[] { new Point(110, 50), new Point(160, 60) });

            var expectedResult = new Point(110, 50);

            multiPoint1.IsIntersects(multiPoint2).Should().BeTrue();

            var result = multiPoint1.Intersection(multiPoint2);

            result.Equals(expectedResult).Should().BeTrue();
        }