### Question:
WGS84Util { public static double shortestDistanceBetween(Point a, Point b) { double aXinRad = Math.toRadians(a.getX()); double aYinRad = Math.toRadians(a.getY()); double bXinRad = Math.toRadians(b.getX()); double bYinRad = Math.toRadians(b.getY()); double aProd = Math.sin(aYinRad) * Math.sin(bYinRad); double bProd = Math.cos(aYinRad) * Math.cos(bYinRad) * Math.cos(aXinRad - bXinRad); return Math.acos(aProd + bProd) * EARTH_MEAN_RADIUS; }  static double shortestDistanceBetween(Point a, Point b); static double getLongitudeDelta(double latitude, double distance); static double getLatitudeDelta(double distance); static double normalizeLongitude(double longitude); static double normalizeLatitude(double latitude); static final String EPSG_4326; }### Answer:
@Test public void shouldCalculateShortestDistanceFromStatueOfLibertyToEiffelTower() throws FactoryException { Point statueOfLiberty = createXYOrderedWgs84Point(-74.0444, 40.6892); Point tourDeEiffel = createXYOrderedWgs84Point(2.2945, 48.8583); assertThat(shortestDistanceBetween(statueOfLiberty, tourDeEiffel), closeTo(5837.0, 0.5)); }