@Test
public void testReadFeatures() throws
                               Exception {

    // given a WKT file to read
    final File wkt = getFixtureAsFile("features.wkt");
    // when parsing this file as WKT
    new WKTFileReader().readFeatures(wkt,
                                     onWKTFileReaderListener);
    // then
    verify(onWKTFileReaderListener).onStart(3);
    verify(onWKTFileReaderListener,
           never()).onError(any(Throwable.class));
    verify(onWKTFileReaderListener,
           times(3)).onProgress(anyInt(),
                                eq(3),
                                any(Feature.class));
    verify(onWKTFileReaderListener).onFinish(featureCollectionArgumentCaptor.capture());
    final FeatureCollection featureCollection = featureCollectionArgumentCaptor.getValue();
    assertNotNull(featureCollection);
    assertEquals(3,
                 featureCollection.getFeatures()
                                  .size());
    assertNotNull(featureCollection.getFeature("69"));
    assertNotNull(featureCollection.getFeature("19"));
    assertNotNull(featureCollection.getFeature("146"));
}