### Question:
GeoUtils { public static double computeDistance(double lat1, double lng1, double lat2, double lng2) { double rlat1 = toRadians(lat1); double rlng1 = toRadians(lng1); double rlat2 = toRadians(lat2); double rlng2 = toRadians(lng2); double dLat = (rlat2 - rlat1) / 2; double dLon = (rlng2 - rlng1) / 2; double a = sin(dLat) * sin(dLat) + cos(rlat1) * cos(rlat2) * sin(dLon) * sin(dLon); return 2 * EARTH_RADIUS_KM * atan2(sqrt(a), sqrt(1 - a)); } private  GeoUtils(); static GeoCoordinate getMidpoint(Collection<? extends GeoCoordinate> coordinates); static GeoCoordinate getCenterOfMinimumDistance(Collection<? extends GeoCoordinate> coordinates); static double parseDms(String dmsString); static double approximateDistance(double lat1, double lng1, double lat2, double lng2); static double approximateDistance(GeoCoordinate c1, GeoCoordinate c2); static double computeDistance(double lat1, double lng1, double lat2, double lng2); static boolean isValidCoordinateRange(double lat, double lng); static void validateCoordinateRange(double lat, double lng); static double normalizeLatitude(double lat); static double normalizeLongitude(double lng); static double getLargestDistance(Collection<? extends GeoCoordinate> coordinates); static final String DMS; static final double EARTH_RADIUS_KM; static final double EARTH_CIRCUMFERENCE_KM; static final double EARTH_MAX_DISTANCE_KM; static final Distance<GeoCoordinate> DISTANCE; }### Answer:
@Test public void testComputeDistance() { collector.checkThat(GeoUtils.computeDistance(52.52437, 13.41053, 51.50853, -0.12574), Matchers.closeTo(931.75,0.05)); System.out.println(GeoUtils.approximateDistance(52.52437, 13.41053, 51.50853, -0.12574)); }