GeoWaveFeatureReader implements FeatureReader<SimpleFeatureType, SimpleFeature> { public GeoWaveFeatureCollection getFeatureCollection() { return featureCollection; } GeoWaveFeatureReader(
      final Query query,
      final GeoWaveTransaction transaction,
      final GeoWaveDataStoreComponents components); GeoWaveTransaction getTransaction(); GeoWaveDataStoreComponents getComponents(); @Override void close(); @Override SimpleFeatureType getFeatureType(); @Override boolean hasNext(); @Override SimpleFeature next(); CloseableIterator<SimpleFeature> getNoData(); long getCount(); CloseableIterator<SimpleFeature> issueQuery(
      final Geometry jtsBounds,
      final TemporalConstraintsSet timeBounds,
      final QueryIssuer issuer); CloseableIterator<SimpleFeature> renderData(
      final Geometry jtsBounds,
      final TemporalConstraintsSet timeBounds,
      final Filter filter,
      final Integer limit,
      final DistributedRenderOptions renderOptions); CloseableIterator<SimpleFeature> getData(
      final Geometry jtsBounds,
      final TemporalConstraintsSet timeBounds,
      final int width,
      final int height,
      final double pixelSize,
      final Filter filter,
      final ReferencedEnvelope envelope,
      final Integer limit); CloseableIterator<SimpleFeature> getData(
      final Geometry jtsBounds,
      final TemporalConstraintsSet timeBounds,
      final Integer limit); CloseableIterator<SimpleFeature> getData(
      final Geometry jtsBounds,
      final TemporalConstraintsSet timeBounds,
      final Filter filter,
      final Integer limit); GeoWaveFeatureCollection getFeatureCollection();  }
@Test public void testMax() throws IllegalArgumentException, NoSuchElementException, IOException { final FeatureReader<SimpleFeatureType, SimpleFeature> reader = dataStore.getFeatureReader(query, Transaction.AUTO_COMMIT); final MaxVisitor visitor = new MaxVisitor("start", type); unwrapDelegatingFeatureReader(reader).getFeatureCollection().accepts(visitor, null); assertTrue(visitor.getMax().equals(mtime)); }
@Test public void testMin() throws IllegalArgumentException, NoSuchElementException, IOException { final FeatureReader<SimpleFeatureType, SimpleFeature> reader = dataStore.getFeatureReader(query, Transaction.AUTO_COMMIT); final MinVisitor visitor = new MinVisitor("start", type); unwrapDelegatingFeatureReader(reader).getFeatureCollection().accepts(visitor, null); assertTrue(visitor.getMin().equals(stime)); }