public void AssertThat_Intersection_ReturnsIntersectingArea()
        {
            var a = new BoundingRectangle(new Vector2(0, 0), new Vector2(10, 10));
            var b = new BoundingRectangle(new Vector2(5, 5), new Vector2(15, 15));

            // ReSharper disable once PossibleInvalidOperationException
            var m = a.Intersection(b).Value;

            Assert.AreEqual(new Vector2(5, 5), m.Min);
            Assert.AreEqual(new Vector2(10, 10), m.Max);
        }
        public void AssertThat_Intersection_ReturnsNothing_WhenNotOverlappingWithGapBottomRight()
        {
            var a = new BoundingRectangle(new Vector2(0, 0), new Vector2(10, 10));
            var b = new BoundingRectangle(new Vector2(15, -5), new Vector2(25, -15));

            // ReSharper disable once PossibleInvalidOperationException
            Assert.IsFalse(a.Intersection(b).HasValue);
        }