### Question:
SRTMGL1Provider extends AbstractSRTMElevationProvider { String getDownloadURL(double lat, double lon) { int lonInt = getMinLonForTile(lon); int latInt = getMinLatForTile(lat); String north = getNorthString(latInt); String dir; if (north.equals("N")) { dir = "North/"; if (lat >= 30) dir += "North_30_60/"; else dir += "North_0_29/"; } else { dir = "South/"; } return dir + north + getLatString(latInt) + getEastString(lonInt) + getLonString(lonInt) + ".hgt"; } SRTMGL1Provider();  SRTMGL1Provider(String cacheDir); static void main(String[] args); @Override String toString();  }### Answer:
@Test public void testGetDownloadUrl() { assertEquals("North/North_30_60/N42E011.hgt", instance.getDownloadURL(42.940339, 11.953125)); assertEquals("North/North_30_60/N38W078.hgt", instance.getDownloadURL(38.548165, -77.167969)); assertEquals("North/North_0_29/N14W005.hgt", instance.getDownloadURL(14.116047, -4.277344)); assertEquals("South/S52W058.hgt", instance.getDownloadURL(-51.015725, -57.621094)); assertEquals("North/North_0_29/N24E120.hgt", instance.getDownloadURL(24.590108, 120.640625)); assertEquals("South/S42W063.hgt", instance.getDownloadURL(-41.015725, -62.949219)); }