### Question:
UtmConverter { public static UtmCoordinate toUtm(GeoCoordinate coordinate) { int zone = utmZone(coordinate); char band = utmBand(coordinate.getLatitude()); double[] xy = mapLatLonToXY(coordinate, utmCentralMeridian(zone)); xy[0] = xy[0] * UTMScaleFactor + 500000.0; xy[1] *= UTMScaleFactor; if (xy[1] < 0.0) { xy[1] += 10000000.0; } return new UtmCoordinate(xy[0], xy[1], zone, band); } private  UtmConverter(); static UtmCoordinate toUtm(GeoCoordinate coordinate); static GeoCoordinate toLatLon(double easting, double northing, int zone, boolean southHemi); static int utmZone(GeoCoordinate coordinate); static char utmBand(double lat); static GeoCoordinate gridZoneToLatLon(String gridZone);  }### Answer:
@Test public void testToUtm() { UtmCoordinate utm = UtmConverter.toUtm(new ImmutableGeoCoordinate(51.049259, 13.73836)); assertEquals(33, utm.getZone()); assertEquals('U', utm.getBand()); assertEquals(411566.4905930299, utm.getEasting(), 0.00001); assertEquals(5656059.942193874, utm.getNorthing(), 0.00001); assertEquals("33U 411566 5656060", utm.toString()); assertEquals("33U", utm.getGridZone()); }