public bool HasNearNeighbourUntested(Point p, double epsilon) { double[,] bounds = CalculateBoundEpsilon(p, epsilon); if (EpsilonboundIntersectsCellBounds(bounds)) { if (HasChildren()) { foreach (Cell cell in c) { if (cell.HasNearNeighbourUntested(p, epsilon)) { return(true); } } } else { foreach (Point point in Elements) { if (p != point) { if (DistanceComputer.ComputeSquaredDistance(p, point) <= epsilon * epsilon) { return(true); } } } } } return(false); }
public void XandYareDifferent() { Point p1 = new Point(3, 5); Point p2 = new Point(7, 2); double expected = 25; double actual = DistanceComputer.ComputeSquaredDistance(p1, p2); Assert.AreEqual(expected, actual); }
public void EqualPointsHaveDistanceZero() { Point p1 = new Point(0, 0); Point p2 = new Point(0, 0); double expected = 0; double actual = DistanceComputer.ComputeSquaredDistance(p1, p2); Assert.AreEqual(expected, actual); }
public void YareEqualXareDifferent() { Point p1 = new Point(0, 0); Point p2 = new Point(4, 0); double expected = 16; double actual = DistanceComputer.ComputeSquaredDistance(p1, p2); Assert.AreEqual(expected, actual); }