### Question:
CGIARProvider implements ElevationProvider { int down( double val ) { int intVal = (int) (val / degree) * degree; if (!(val >= 0 || intVal - val < invPrecision)) intVal = intVal - degree; return intVal; }  @Override void setCalcMean( boolean eleCalcMean ); void setAutoRemoveTemporaryFiles( boolean autoRemoveTemporary ); void setDownloader( Downloader downloader ); @Override ElevationProvider setCacheDir( File cacheDir ); @Override ElevationProvider setBaseURL( String baseUrl ); @Override ElevationProvider setDAType( DAType daType ); @Override double getEle( double lat, double lon ); @Override void release(); @Override String toString(); static void main( String[] args );  }### Answer:
@Test public void testDown() { CGIARProvider instance = new CGIARProvider(); assertEquals(50, instance.down(52.5)); assertEquals(0, instance.down(0.1)); assertEquals(0, instance.down(0.01)); assertEquals(-5, instance.down(-0.01)); assertEquals(-5, instance.down(-2)); assertEquals(-10, instance.down(-5.1)); assertEquals(50, instance.down(50)); assertEquals(45, instance.down(49)); }