### 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; }  static void main(String[] args); @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();  }### Answer:
@Test public void testDown() { 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)); }