### Question:
AbstractGeoCoordinate implements GeoCoordinate { @Override public double distance(GeoCoordinate other) { Validate.notNull(other, "other must not be null"); return GeoUtils.computeDistance(getLatitude(), getLongitude(), other.getLatitude(), other.getLongitude()); }  @Override double distance(GeoCoordinate other); @Override String toDmsString(); @Override double[] getBoundingBox(double distance); @Override GeoCoordinate getCoordinate(double distance, double bearing); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testDistance() { GeoCoordinate c1 = new ImmutableGeoCoordinate(33.662508, -95.547692); GeoCoordinate c2 = new ImmutableGeoCoordinate(48.85341, 2.3488); double distance = c1.distance(c2); assertEquals(7783, distance, 1); distance = c2.distance(c1); assertEquals(7783, distance, 1); }