public void CircleCircleIntersect_FullOverload_NegativeOnEdge()
        {
            var result = PolygonIntersection.CircleCircleIntersect(new Vector2(5.0f, 5.0f), 10.0f, new Vector2(5.0f, 25.0f), 10.0f, false);

            Assert.False(result.Intersecting);
            Assert.Equal(0.0f, result.Depth, 4);
            Assert.Equal(0.0f, result.Normal0To1.X, 4);
            Assert.Equal(0.0f, result.Normal0To1.Y, 4);
            Assert.Equal(0.0f, result.Point.X, 4);
            Assert.Equal(0.0f, result.Point.Y, 4);
        }
        public void CircleCircleIntersect_FullOverload_Positive()
        {
            var result = PolygonIntersection.CircleCircleIntersect(new Vector2(4.0f, 4.0f), 10.0f, new Vector2(4.0f, 20.0f), 10.0f, true);

            Assert.True(result.Intersecting);
            Assert.Equal(4.0f, result.Depth, 4);
            Assert.Equal(0.0f, result.Normal0To1.X, 4);
            Assert.Equal(1.0f, result.Normal0To1.Y, 4);
            Assert.Equal(4.0f, result.Point.X, 4);
            Assert.Equal(10.0f, result.Point.Y, 4);
        }
        public void CircleCircleIntersect_PositiveSimpleOverload()
        {
            Circle c0 = new Circle(new System.Numerics.Vector2(0.0f, 0.0f), 20.0f);
            Circle c1 = new Circle(new System.Numerics.Vector2(30.0f, 0.0f), 20.0f);

            var result = PolygonIntersection.CircleCircleIntersect(c0, c1);

            Assert.True(result.Intersecting);
            Assert.Equal(10.0f, result.Depth, 4);
            Assert.Equal(1.0f, result.Normal0To1.X, 4);
            Assert.Equal(0.0f, result.Normal0To1.Y, 4);
            Assert.Equal(10.0f, result.Point.X, 4);
            Assert.Equal(0.0f, result.Point.Y, 4);
        }
        public void CircleCircleIntersect_NegativeSimpleBooleanOverload()
        {
            var result = PolygonIntersection.CircleCircleIntersect(new Vector2(0.0f, 0.0f), 20.0f, new Vector2(100.0f, 0.0f), 20.0f);

            Assert.False(result);
        }
        public void CircleCircleIntersect_PositiveSimpleBooleanOverload()
        {
            var result = PolygonIntersection.CircleCircleIntersect(new Vector2(0.0f, 0.0f), 20.0f, new Vector2(30.0f, 0.0f), 20.0f);

            Assert.True(result);
        }