use of org.opengis.filter.temporal.During in project ddf by codice.
the class OpenSearchFilterVisitorTest method testMultipleFilters.
/**
* Test that the {@link OpenSearchFilterVisitorObject} is populated with multiple filters.
* Combines the {@link Filter}s from {@link #testDuringDates} and {@link #testContains()}.
*/
@Test
public void testMultipleFilters() {
During duringFilter = (During) geotoolsFilterBuilder.attribute(TEMPORAL_ATTRIBUTE_NAME).during().dates(START_DATE, END_DATE);
Contains containsFilter = (Contains) geotoolsFilterBuilder.attribute(SPATIAL_ATTRIBUTE_NAME).containing().wkt(WKT_POLYGON);
And andFilter = geotoolsFilterBuilder.allOf(duringFilter, containsFilter);
OpenSearchFilterVisitorObject openSearchFilterVisitorObject = new OpenSearchFilterVisitorObject();
openSearchFilterVisitorObject.setCurrentNest(NestedTypes.AND);
OpenSearchFilterVisitorObject result = (OpenSearchFilterVisitorObject) openSearchFilterVisitor.visit(andFilter, openSearchFilterVisitorObject);
assertThat(result.getTemporalSearch(), allOf(is(notNullValue()), hasProperty("startDate", is(START_DATE)), hasProperty("endDate", is(END_DATE))));
assertThat(result.getGeometrySearches(), contains(hasToString(is(WKT_POLYGON))));
}
use of org.opengis.filter.temporal.During in project ddf by codice.
the class FilterBuilderTest method during.
@Test
public void during() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.attribute(FOO_ATTRIBUTE).during().dates(new Date(), new Date(System.currentTimeMillis() + 10000000));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).during().next(1000);
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).during().last(1000);
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().during().dates(new Date(), new Date(System.currentTimeMillis() + 10000000));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().during().next(1000);
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().during().last(1000);
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(6)).visit(isA(During.class), any());
}
Aggregations