use of org.locationtech.geowave.core.store.query.filter.expression.IsNotNull in project geowave by locationtech.
the class GWQLParserTest method testFilters.
@Test
public void testFilters() {
final DataStore dataStore = createDataStore();
String statement = "SELECT * FROM type WHERE pop IS NULL";
Statement gwStatement = GWQLParser.parseStatement(dataStore, statement);
assertTrue(gwStatement instanceof SelectStatement);
SelectStatement<?> selectStatement = (SelectStatement<?>) gwStatement;
assertNotNull(selectStatement.getFilter());
Filter filter = selectStatement.getFilter();
assertTrue(filter instanceof IsNull);
assertTrue(((IsNull) filter).getExpression() instanceof NumericFieldValue);
assertEquals("pop", ((NumericFieldValue) ((IsNull) filter).getExpression()).getFieldName());
statement = "SELECT * FROM type WHERE pop IS NOT NULL";
gwStatement = GWQLParser.parseStatement(dataStore, statement);
assertTrue(gwStatement instanceof SelectStatement);
selectStatement = (SelectStatement<?>) gwStatement;
assertNotNull(selectStatement.getFilter());
filter = selectStatement.getFilter();
assertTrue(filter instanceof IsNotNull);
assertTrue(((IsNotNull) filter).getExpression() instanceof NumericFieldValue);
assertEquals("pop", ((NumericFieldValue) ((IsNotNull) filter).getExpression()).getFieldName());
statement = "SELECT * FROM type WHERE NOT pop IS NOT NULL";
gwStatement = GWQLParser.parseStatement(dataStore, statement);
assertTrue(gwStatement instanceof SelectStatement);
selectStatement = (SelectStatement<?>) gwStatement;
assertNotNull(selectStatement.getFilter());
filter = selectStatement.getFilter();
assertTrue(filter instanceof Not);
final Not not = (Not) filter;
assertTrue(not.getFilter() instanceof IsNotNull);
filter = not.getFilter();
assertTrue(((IsNotNull) filter).getExpression() instanceof NumericFieldValue);
assertEquals("pop", ((NumericFieldValue) ((IsNotNull) filter).getExpression()).getFieldName());
}
Aggregations