VerticalExaggerationElevationModel extends DetailedElevationModel implements ElevationExaggeration.ChangeListener { protected double exaggerateElevation(double elevation) { ExaggerationWindow window = getWindowForElevation(elevation); if (window == null) { return elevation; } return window.applyExaggeration(elevation); } VerticalExaggerationElevationModel(ElevationModel source); void addExaggerator(ElevationExaggeration exaggerator); void addExaggerators(Collection<ElevationExaggeration> exaggerators); void removeExaggerator(ElevationExaggeration exaggerator); void removeExaggerator(double boundary); boolean containsExaggeratorAtBoundary(double boundary); ElevationExaggeration getExaggeratorForElevation(double elevation); List<ElevationExaggeration> getExaggerators(); double getGlobalOffset(); void setGlobalOffset(double offset); @Override double getMaxElevation(); @Override double getMinElevation(); @Override double[] getExtremeElevations(Angle latitude, Angle longitude); @Override double[] getExtremeElevations(Sector sector); @Override double getElevations(Sector sector, List<? extends LatLon> latlons, double targetResolution, double[] buffer); @Override double getUnmappedElevations(Sector sector, List<? extends LatLon> latlons, double targetResolution, double[] buffer); @Override double getUnmappedElevation(Angle latitude, Angle longitude); double getUnexaggeratedElevation(Angle latitude, Angle longitude); @Override void exaggerationChanged(ElevationExaggeration exaggeration);  }
@Test public void testReturnsInputWhenNoExaggerators() { assertEquals(123.45, classToBeTested.exaggerateElevation(123.45), ALLOWABLE_ERROR); }