private FilterFactory2 fac = CommonFactoryFinder.getFilterFactory2(null);
@Test
public void testFactoryAndGetter() {
MultiValuedFilter filter;
Expression expr1 = fac.property("foo");
Expression expr2 = fac.property("bar");
Expression expr3 = fac.property("noo");
//test default is MatchAction.ANY
filter = fac.bbox(expr1, new ReferencedEnvelope());
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.beyond(expr1, expr2, 0.1, "");
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.beyond(expr1, expr2, 0.1, "");
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.contains(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.crosses(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.disjoint(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.dwithin(expr1, expr2, 0.1, "");
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.equal(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.intersects(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.overlaps(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.touches(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.within(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.equal(expr1, expr2, false);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.less(expr1, expr2, false);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.greater(expr1, expr2, false);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.lessOrEqual(expr1, expr2, false);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.greaterOrEqual(expr1, expr2,false);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.notEqual(expr1, expr2, false);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.between(expr1, expr2, expr3);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.like(expr1, "");
assertEquals(filter.getMatchAction(), MatchAction.ANY);
//test custom match action
filter = fac.bbox(expr1, new ReferencedEnvelope(), MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.beyond(expr1, expr2, 0.1, "", MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.beyond(expr1, expr2, 0.1, "", MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.contains(expr1, expr2, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.crosses(expr1, expr2, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.disjoint(expr1, expr2, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.dwithin(expr1, expr2, 0.1, "", MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.equal(expr1, expr2, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.intersects(expr1, expr2, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.overlaps(expr1, expr2, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.touches(expr1, expr2, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.within(expr1, expr2, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.equal(expr1, expr2, false, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.less(expr1, expr2, false, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.greater(expr1, expr2, false, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.lessOrEqual(expr1, expr2, false, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.greaterOrEqual(expr1, expr2,false, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.notEqual(expr1, expr2, false, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.between(expr1, expr2, expr3, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.like(expr1, "", "*", "?", "\\", false, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
}