### Question:
GeoHashUtil { public static String geohash(final double latitude, final double longitude, int length) { return GeoHash.encodeHash(latitude, longitude, length); }  static String adjacentHash(String geohash, String directionString); static List<String> neighbours(String geohash); static String geohash(final double latitude, final double longitude, int length); static String geohash(final double latitude, final double longitude); static Map<String, Double> decodeHash(String geohash); static int hashLengthToCoverBoundingBox(double topLeftLatitude, double topLeftLongitude, 
									double bottomRightLatitude, double bottomRightLongitude); static boolean hashContains(String geoHash, double latitude, double longitude); static List<String> coverBoundingBox(String geometryWKT, int length); static List<String> coverBoundingBox(Double topLeftLatitude, Double topLeftLongitude,  
								Double bottomRightLatitude, Double bottomRightLongitude, int length);  }### Answer:
@Test public void testGeoHashByPosition() { assertEquals("9yzfftyn0101", GeoHashUtil.geohash(38.484769753492536, -90.23345947265625)); }
@Test public void testGeoHashByPositionWithLength4() { assertEquals("9yzf", GeoHashUtil.geohash(38.484769753492536, -90.23345947265625, 4)); }
@Test public void testGeoHashByPositionWithLengthGreaterMax() { try { GeoHashUtil.geohash(38.484769753492536, -90.23345947265625, 13); fail("Should fail with an Illegal Argument Exception because of the length greater thant 12"); } catch (IllegalArgumentException expected) { } }