Loader { int loadHotSpots() { this.addUpdate("install_timeline_periods"); LOGGER.debug("Loading hotspots"); final EntityIndexWriterImpl writer = this.entityManager.getNewWriter("hotspot"); new StreamingCsvModuleLoader(writer, this.coreProperties.getProperty("test.data.path.timeline.hotspots")).init(this); return writer.close(); } @Inject  Loader(final JSwordPassageService jsword, final JSwordModuleService jswordModule,
                  @Named("StepCoreProperties") final Properties coreProperties, final EntityManager entityManager,
                  final Provider<ClientSession> clientSessionProvider,
                  AppManagerService appManager
    ); void init(); List<String> readOnceProgress(); int getTotalProgress(); boolean isComplete();  }
@Test public void testHotSpots() { getLoader("test.data.path.timeline.hotspots", "hotspots.csv").loadHotSpots(); final long start = DateTimeUtils.getInstantMillis(DateTime.parse("-2000")) / 60000; final long end = DateTimeUtils.getInstantMillis(DateTime.parse("-1999")) / 60000; final EntityIndexReader reader = this.entityManager.getReader("hotspot"); final NumericRangeQuery<Long> range = NumericRangeQuery.newLongRange("startTime", start, end, true, true); assertTrue(reader.search(range).length > 0); }