use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method like.
@Test
public void like() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.attribute(FOO_ATTRIBUTE).is().like().text("bar");
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(1)).visit(isA(PropertyIsLike.class), anyObject());
// TODO check case sensitivity
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method andOrNull.
@Test
public void andOrNull() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
// FilterBuilder builder = new GeotoolsFilterBuilder();
//
//
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.allOf(builder.anyOf(builder.attribute(FOO_ATTRIBUTE).is().empty()));
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(1)).visit(isA(And.class), anyObject());
inOrder.verify(visitor).visit(isA(Or.class), anyObject());
ArgumentCaptor<PropertyIsNull> propertyIsNullArgument = ArgumentCaptor.forClass(PropertyIsNull.class);
verify(visitor).visit(propertyIsNullArgument.capture(), anyObject());
ExpressionVisitor expVisitor = spy(new DefaultExpressionVisitor() {
});
propertyIsNullArgument.getValue().getExpression().accept(expVisitor, null);
ArgumentCaptor<PropertyName> propertyNameArgument = ArgumentCaptor.forClass(PropertyName.class);
verify(expVisitor).visit(propertyNameArgument.capture(), anyObject());
assertEquals(FOO_ATTRIBUTE, propertyNameArgument.getValue().getPropertyName());
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method propertyIsNotEqual.
@Test
public void propertyIsNotEqual() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.attribute(FOO_ATTRIBUTE).notEqualTo().text("bar");
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().notEqualTo().text("bar");
filter.accept(visitor, null);
filter = builder.attribute(null).is().notEqualTo().text(null);
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(3)).visit(isA(PropertyIsNotEqualTo.class), anyObject());
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method propertyIsBetween.
@Test
public void propertyIsBetween() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.attribute(FOO_ATTRIBUTE).between().numbers(new Long(5), new Long(7));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().between().numbers(new Long(5), new Long(7));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).between().numbers((short) 5, (short) 7);
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).between().numbers(new Integer(5), new Integer(7));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).between().numbers(new Long(5), new Long(7));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).between().numbers(new Float(5), new Float(7));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).between().numbers(new Double(5), new Double(7));
filter.accept(visitor, null);
filter = builder.attribute(null).is().between().numbers(null, (Integer) null);
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(8)).visit(isA(PropertyIsBetween.class), anyObject());
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method after.
@Test
public void after() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.attribute(FOO_ATTRIBUTE).after().date(new Date());
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().after().date(new Date());
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(2)).visit(isA(After.class), anyObject());
}
Aggregations