### Question:
TimeZoneEngine { public Optional<ZoneId> query(double latitude, double longitude) { final List<ZoneId> result = index.query(latitude, longitude); return result.size() > 0 ? Optional.of(result.get(0)) : Optional.empty(); } private  TimeZoneEngine(Index index); List<ZoneId> queryAll(double latitude, double longitude); Optional<ZoneId> query(double latitude, double longitude); List<SameZoneSpan> queryPolyline(double[] points); List<ZoneId> getKnownZoneIds(); static TimeZoneEngine initialize(boolean accelerateGeometry); static TimeZoneEngine initialize(); static TimeZoneEngine initialize(TarArchiveInputStream f); static TimeZoneEngine initialize(double minLat,
                                            double minLon,
                                            double maxLat,
                                            double maxLon,
                                            boolean accelerateGeometry,
                                            TarArchiveInputStream f); static TimeZoneEngine initialize(double minLat, double minLon, double maxLat, double maxLon, boolean accelerateGeometry);  }### Answer:
@Test public void testSomeZones() { assertEquals(Optional.of(ZoneId.of("Europe/Berlin")), engine.query(52.52, 13.40)); assertEquals(Optional.of(ZoneId.of("Asia/Tomsk")), engine.query(56.49771, 84.97437)); assertEquals(Optional.of(ZoneId.of("America/Santiago")), engine.query(-33.459229, -70.645348)); assertEquals(Optional.of(ZoneId.of("Asia/Krasnoyarsk")), engine.query(56.01839, 92.86717)); assertEquals(Optional.of(ZoneId.of("Africa/Abidjan")), engine.query(5.345317, -4.024429)); assertEquals(Optional.of(ZoneId.of("America/New_York")), engine.query(40.785091, -73.968285)); assertEquals(Optional.of(ZoneId.of("Australia/Sydney")), engine.query(-33.865143, 151.215256)); assertEquals(Optional.of(ZoneId.of("Etc/GMT+1")), engine.query(38.00, -15.2814)); assertEquals(Optional.of(ZoneId.of("Asia/Shanghai")), engine.query(39.601, 79.201)); assertEquals(Optional.of(ZoneId.of("Asia/Shanghai")), engine.query(27.45, 89.05)); }
@Test public void testBoundariesAndMultiPolygons() { assertEquals(Optional.of(ZoneId.of("Europe/Amsterdam")), engine.query(51.4457, 4.9248)); assertEquals(Optional.of(ZoneId.of("Europe/Brussels")), engine.query(51.4457, 4.9250)); assertEquals(Optional.of(ZoneId.of("Europe/Brussels")), engine.query(51.4437,4.9186)); assertEquals(Optional.of(ZoneId.of("Europe/Amsterdam")), engine.query(51.4438,4.9181)); }