public static double GetResult(GeometryBasicsDistanceBetweenCirclesIn2D.Circle a, GeometryBasicsDistanceBetweenCirclesIn2D.Circle b) { var distanceDiff = Math.Sqrt(Math.Pow(a.Center.X - b.Center.X, 2) + Math.Pow(a.Center.Y - b.Center.Y, 2)) - a.Radius - b.Radius; return(distanceDiff > 0 ? distanceDiff : 0); }
public void RandomTests() { Random rand = new Random(); for (int i = 0; i < 100; i++) { GeometryBasicsDistanceBetweenCirclesIn2D.Circle a = new GeometryBasicsDistanceBetweenCirclesIn2D.Circle( new Point(rand.Next(-50, 50), rand.Next(-50, 50)), rand.Next(1, 50)); GeometryBasicsDistanceBetweenCirclesIn2D.Circle b = new GeometryBasicsDistanceBetweenCirclesIn2D.Circle( new Point(rand.Next(-50, 50), rand.Next(-50, 50)), rand.Next(1, 50)); Assert.AreEqual(Math.Round(Solve.GetResult(a, b), 6), Math.Round(GeometryBasicsDistanceBetweenCirclesIn2D.DistanceBetweenCircles(a, b), 6)); } }