@Test
  void testIssue546Terschelling() throws Exception {
    Geometry geometry = new WKBReader()
      .read(
        new InputStreamInStream(Files.newInputStream(TestUtils.pathToResource("issue_546_terschelling.wkb"))));
    geometry = GeoUtils.worldToLatLonCoords(geometry);

    assertNotNull(geometry);

    // automatically checks for self-intersections
    var results = runWithReaderFeatures(
      Map.of("threads", "1"),
      List.of(
        newReaderFeature(geometry, Map.of())
      ),
      (in, features) -> features.polygon("ocean")
        .setBufferPixels(4.0)
        .setMinZoom(0)
    );


    // this lat/lon is in the middle of an island and should not be covered by
    for (int z = 4; z <= 14; z++) {
      double lat = 53.391958;
      double lon = 5.2438441;

      var coord = TileCoord.aroundLngLat(lon, lat, z);
      var problematicTile = results.tiles.get(coord);
      if (z == 14) {
        assertNull(problematicTile);
        continue;
      }
      double scale = Math.pow(2, coord.z());

      double tileX = (GeoUtils.getWorldX(lon) * scale - coord.x()) * 256;
      double tileY = (GeoUtils.getWorldY(lat) * scale - coord.y()) * 256;

      var point = newPoint(tileX, tileY);

      assertEquals(1, problematicTile.size());
      var geomCompare = problematicTile.getFirst().geometry();
      geomCompare.validate();
      var geom = geomCompare.geom();

      assertFalse(geom.covers(point), "z" + z);
    }
  }
In-memory tests with fake data and profiles to ensure all features work end-to-end.
planetiler-core/src/test/java/com/onthegomap/planetiler/PlanetilerTests.java