### Question:
TileDownload { protected static CoordinateInt parseCoordinate(String hgtFileName) throws ParseException { String parse = hgtFileName.trim(); int lat = Integer.MIN_VALUE; int lon = Integer.MIN_VALUE; for (int i = 0; i < parse.length(); i++) { char c = parse.charAt(i); if (c == 'N') { lat = getNumAfterIndex(parse, ++i); } else if (c == 'S') { lat = -(getNumAfterIndex(parse, ++i)); } else if (c == 'E') { lon = getNumAfterIndex(parse, ++i); } else if (c == 'W') { lon = -(getNumAfterIndex(parse, ++i)); } } if (lat < -90 || lat > 90) { throw new ParseException(String.format("Latitude must be between " + "[-90;+90], but is %s", lat), -1); } else if (lon < -180 || lon > 180) { throw new ParseException(String.format("Longitude must be between " + "[-180;+180], but is %s", lon), -1); } return new CoordinateInt(lat, lon); }  boolean exists(double lat, double lon); abstract boolean exists(int lat, int lon); File[][] getTiles(Area ar); File getTile(CoordinateInt c); File getTile(double lat, double lon); abstract File getTile(int lat, int lon); static String getNonationNSEW(int lat, int lon);  }### Answer:
@Test public void testParseCoordinate() throws Exception { helpTestParseCoordinate("N47E011.hgt.zip", 47, 11); }