private <F extends SourceFeature> void processReaderFeatures(FeatureGroup featureGroup, Profile profile,
    PlanetilerConfig config, List<F> features) {
    SourceFeatureProcessor.processFiles(
      "test",
      List.of(Path.of("mock-path")), path -> new SimpleReader<F>("test") {
        @Override
        public long getFeatureCount() {
          return features.size();
        }

        @Override
        public void readFeatures(Consumer<F> next) {
          features.forEach(next);
        }

        @Override
        public void close() { /* pass */ }
      }, featureGroup, config, profile, stats
    );
  }
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