### Question:
DistanceCalcEarth implements DistanceCalc { public double calcCircumference( double lat ) { return 2 * PI * R * cos(toRadians(lat)); }  @Override double calcDist( double fromLat, double fromLon, double toLat, double toLon ); double calcDenormalizedDist( double normedDist ); @Override double calcNormalizedDist( double dist ); @Override double calcNormalizedDist( double fromLat, double fromLon, double toLat, double toLon ); double calcCircumference( double lat ); boolean isDateLineCrossOver( double lon1, double lon2 ); @Override BBox createBBox( double lat, double lon, double radiusInMeter ); @Override double calcNormalizedEdgeDistance( double r_lat_deg, double r_lon_deg,
                                              double a_lat_deg, double a_lon_deg,
                                              double b_lat_deg, double b_lon_deg ); double calcNormalizedEdgeDistanceNew( double r_lat_deg, double r_lon_deg,
                                                 double a_lat_deg, double a_lon_deg,
                                                 double b_lat_deg, double b_lon_deg, boolean reduceToSegment ); @Override GHPoint calcCrossingPointToEdge( double r_lat_deg, double r_lon_deg,
                                            double a_lat_deg, double a_lon_deg,
                                            double b_lat_deg, double b_lon_deg ); @Override boolean validEdgeDistance( double r_lat_deg, double r_lon_deg,
                                      double a_lat_deg, double a_lon_deg,
                                      double b_lat_deg, double b_lon_deg ); @Override String toString(); final static double R; final static double R_EQ; final static double C; final static double KM_MILE; }### Answer:
@Test public void testCalcCircumference() { assertEquals(DistanceCalcEarth.C, dc.calcCircumference(0), 1e-7); }