public void WhenFindingClosestEdgePointResultsAreValid()
        {
            var someAabb             = new BoundingRectangle(100, 100, 120, 120);
            var diagonalPoint        = new Vector2(121, 121);
            var topSidePoint         = new Vector2(110, 99);
            var rightSidePoint       = new Vector2(121, 110);
            var bottomSidePoint      = new Vector2(110, 121);
            var leftSidePoint        = new Vector2(99, 110);
            var farAwayPoint         = new Vector2(-100000000, 0);
            var containedCenterPoint = new Vector2(110, 110);
            var containedPoint       = new Vector2(115, 115);
            var edgePoint            = new Vector2(100, 110);

            Assert.That(someAabb.ClosestEdgePoint(diagonalPoint), Is.EqualTo(new Vector2(120, 120)));
            Assert.That(someAabb.ClosestEdgePoint(topSidePoint), Is.EqualTo(new Vector2(110, 100)));
            Assert.That(someAabb.ClosestEdgePoint(rightSidePoint), Is.EqualTo(new Vector2(120, 110)));
            Assert.That(someAabb.ClosestEdgePoint(bottomSidePoint), Is.EqualTo(new Vector2(110, 120)));
            Assert.That(someAabb.ClosestEdgePoint(leftSidePoint), Is.EqualTo(new Vector2(100, 110)));
            Assert.That(someAabb.ClosestEdgePoint(farAwayPoint), Is.EqualTo(new Vector2(100, 100)));
            Assert.That(someAabb.ClosestEdgePoint(containedCenterPoint), Is.EqualTo(new Vector2(110, 100)));
            Assert.That(someAabb.ClosestEdgePoint(containedPoint), Is.EqualTo(new Vector2(115, 120)));
            Assert.That(someAabb.ClosestEdgePoint(edgePoint), Is.EqualTo(edgePoint));
        }