### Question:
WFSDataClearer { public void removeFeatures(TimeSpan span) throws DataElementLookupException { List<Long> idsWithinTime = idsWithinTime(span); removeIds(idsWithinTime); } WFSDataClearer(MantleToolbox mantleToolbox, DataTypeInfo layer, QueryRegion queryArea); void removeAll(); void removeFeatures(TimeSpan span);  }### Answer:
@Test public void testRemoveFeatures() throws DataElementLookupException { EasyMockSupport support = new EasyMockSupport(); TimeSpan span1 = TimeSpan.get(System.currentTimeMillis() - 10000, System.currentTimeMillis() - 5000); TimeSpan span2 = TimeSpan.get(System.currentTimeMillis() - 3000, System.currentTimeMillis()); List<Long> allIds = New.list(Long.valueOf(0), Long.valueOf(1), Long.valueOf(2), Long.valueOf(3)); DataTypeInfo layer = createLayer(support); List<MapGeometrySupport> geometrySupports = New.list(); List<DataElement> elements = createElements(span1, span2, geometrySupports); DataElementCache cache = createCache(support, layer, allIds, New.list(span1, span1, span2, span2)); DataElementLookupUtils lookupUtils = createLookup(support, layer, New.list(Long.valueOf(2), Long.valueOf(3)), New.list(elements.get(2), elements.get(3))); DataTypeController typeController = createTypeController(support, layer, new long[] { 3 }); MapGeometrySupportConverterRegistry converter = createConverter(support, New.list(geometrySupports.get(2), geometrySupports.get(3))); MantleToolbox mantle = createMantle(support, cache, lookupUtils, typeController, converter); QueryRegion queryArea = createRegion(support); support.replayAll(); WFSDataClearer clearer = new WFSDataClearer(mantle, layer, queryArea); clearer.removeFeatures(span2); support.verifyAll(); }