public static ColumnFilter lowerThan(Comparable ref) { return lowerThan(null, ref); }
public static ColumnFilter lowerThan(Comparable ref) { return lowerThan(null, ref); }
@Test public void testANDExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, AND(greaterThan(100), lowerThan(150))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(1); assertDataSetValue(result, 0, 0, "1.00"); }
@Test public void testSQLDataSet() throws Exception { String testDsetFile = testSettings.getExpenseReportsSqlDsetFile(); URL fileURL = Thread.currentThread().getContextClassLoader().getResource(testDsetFile); String json = IOUtils.toString(fileURL, StandardCharsets.UTF_8); SQLDataSetDef def = (SQLDataSetDef) jsonMarshaller.fromJson(json); dataSetDefRegistry.registerDataSetDef(def); DataSetMetadata metadata = dataSetManager.getDataSetMetadata("expense_reports_sql"); assertThat(metadata.getNumberOfColumns()).isEqualTo(3); assertThat(metadata.getNumberOfRows()).isEqualTo(6); final String uuid = "expense_reports_sql"; DataSet dataSet = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(uuid) .filter(COLUMN_AMOUNT, FilterFactory.lowerThan(1000)) .group(COLUMN_EMPLOYEE) .column(COLUMN_EMPLOYEE) .column(COLUMN_AMOUNT, AggregateFunctionType.SUM) .sort(COLUMN_EMPLOYEE, SortOrder.ASCENDING) .buildLookup()); assertDataSetDefinition(dataSet, uuid); assertDataSetValues(dataSet, dataSetFormatter, new String[][]{ {"Jamie Gilbeau", "792.59"}, {"Roxie Foraker", "1,020.45"} }, 0); }
@Test public void testColumnAlias() throws Exception { URL fileURL = Thread.currentThread().getContextClassLoader().getResource("expenseReports_columnalias.dset"); String json = IOUtils.toString(fileURL, StandardCharsets.UTF_8); SQLDataSetDef def = (SQLDataSetDef) jsonMarshaller.fromJson(json); dataSetDefRegistry.registerDataSetDef(def); String uuid = "expense_reports_columnalias"; DataSetMetadata metadata = dataSetManager.getDataSetMetadata(uuid); assertThat(metadata.getNumberOfColumns()).isEqualTo(3); assertThat(metadata.getColumnId(0)).isEqualTo("Id"); assertThat(metadata.getColumnId(1)).isEqualTo("Employee"); assertThat(metadata.getColumnId(2)).isEqualTo("Amount"); DataSet dataSet = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(uuid) .filter("id", FilterFactory.notNull()) .filter("amount", OR(greaterThan(0), lowerThan(1000))) .group("employee") .column("EMPLOYEE", "employee") .column("id", AggregateFunctionType.COUNT, "id") .column("AMOUNT", AggregateFunctionType.SUM, "amount") .sort("id", SortOrder.ASCENDING) .buildLookup()); assertThat(dataSet.getColumns().size()).isEqualTo(3); assertNotNull(dataSet.getColumnById("ID")); assertNotNull(dataSet.getColumnById("EMPLOYEE")); assertNotNull(dataSet.getColumnById("AMOUNT")); }
@Test public void testCombinedExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, AND( equalsTo(COLUMN_DEPARTMENT, "Sales"), OR(NOT(lowerThan(300)), equalsTo(COLUMN_CITY, "Madrid")))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(7); assertDataSetValue(result, 0, 0, "9.00"); assertDataSetValue(result, 6, 0, "28.00"); }
@Test public void testSQLDataSet() throws Exception { String testDsetFile = testSettings.getExpenseReportsSqlDsetFile(); URL fileURL = Thread.currentThread().getContextClassLoader().getResource(testDsetFile); String json = IOUtils.toString(fileURL); SQLDataSetDef def = (SQLDataSetDef) jsonMarshaller.fromJson(json); dataSetDefRegistry.registerDataSetDef(def); DataSetMetadata metadata = dataSetManager.getDataSetMetadata("expense_reports_sql"); assertThat(metadata.getNumberOfColumns()).isEqualTo(3); assertThat(metadata.getNumberOfRows()).isEqualTo(6); final String uuid = "expense_reports_sql"; DataSet dataSet = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(uuid) .filter(COLUMN_AMOUNT, FilterFactory.lowerThan(1000)) .group(COLUMN_EMPLOYEE) .column(COLUMN_EMPLOYEE) .column(COLUMN_AMOUNT, AggregateFunctionType.SUM) .sort(COLUMN_EMPLOYEE, SortOrder.ASCENDING) .buildLookup()); assertDataSetDefinition(dataSet, uuid); assertDataSetValues(dataSet, dataSetFormatter, new String[][]{ {"Jamie Gilbeau", "792.59"}, {"Roxie Foraker", "1,020.45"} }, 0); }
@Test public void testANDExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EL_DATASET_UUID) .filter(ExpenseReportsData.COLUMN_AMOUNT, AND(greaterThan(100), lowerThan(150))) .sort(ExpenseReportsData.COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); assertThat(result.getRowCount()).isEqualTo(1); assertDataSetValue(result, 0, 0, "1.00"); }
DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(lowerThan(COLUMN_AMOUNT, null)) .buildLookup()).getRowCount()).isEqualTo(0);
@Test public void testANDExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, AND(greaterThan(100), lowerThan(150))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(1); assertDataSetValue(result, 0, 0, "1.00"); }
@Test public void testLookupDataSet() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter("amount", lowerThan(1000)) .group("department") .column("department") .column(AggregateFunctionType.COUNT, "#items") .column("amount", AggregateFunctionType.SUM) .buildLookup()); //printDataSet(result); assertDataSetValues(result, dataSetFormatter, new String[][] { {"Engineering", "16.00", "6,547.56"}, {"Services", "5.00", "2,504.50"}, {"Sales", "8.00", "3,213.53"}, {"Support", "6.00", "2,343.70"}, {"Management", "11.00", "6,017.47"} }, 0); }
@Test public void testLookupDataSet() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter("amount", lowerThan(1000)) .group("department") .column("department") .column(AggregateFunctionType.COUNT, "#items") .column("amount", AggregateFunctionType.SUM) .buildLookup()); //printDataSet(result); assertDataSetValues(result, dataSetFormatter, new String[][]{ {"Engineering", "16.00", "6,547.56"}, {"Services", "5.00", "2,504.50"}, {"Sales", "8.00", "3,213.53"}, {"Support", "6.00", "2,343.70"}, {"Management", "11.00", "6,017.47"} }, 0); }
@Test public void testColumnAlias() throws Exception { URL fileURL = Thread.currentThread().getContextClassLoader().getResource("expenseReports_columnalias.dset"); String json = IOUtils.toString(fileURL); SQLDataSetDef def = (SQLDataSetDef) jsonMarshaller.fromJson(json); dataSetDefRegistry.registerDataSetDef(def); String uuid = "expense_reports_columnalias"; DataSetMetadata metadata = dataSetManager.getDataSetMetadata(uuid); assertThat(metadata.getNumberOfColumns()).isEqualTo(3); assertThat(metadata.getColumnId(0)).isEqualTo("Id"); assertThat(metadata.getColumnId(1)).isEqualTo("Employee"); assertThat(metadata.getColumnId(2)).isEqualTo("Amount"); DataSet dataSet = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(uuid) .filter("id", FilterFactory.notNull()) .filter("amount", OR(greaterThan(0), lowerThan(1000))) .group("employee") .column("EMPLOYEE", "employee") .column("id", AggregateFunctionType.COUNT, "id") .column("AMOUNT", AggregateFunctionType.SUM, "amount") .sort("id", SortOrder.ASCENDING) .buildLookup()); assertThat(dataSet.getColumns().size()).isEqualTo(3); assertNotNull(dataSet.getColumnById("ID")); assertNotNull(dataSet.getColumnById("EMPLOYEE")); assertNotNull(dataSet.getColumnById("AMOUNT")); }
@Test public void testCombinedExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EL_DATASET_UUID) .filter(ExpenseReportsData.COLUMN_AMOUNT, AND( equalsTo(ExpenseReportsData.COLUMN_DEPARTMENT, EL_EXAMPLE_DEPT_SALES), OR(NOT(lowerThan(300)), equalsTo(ExpenseReportsData.COLUMN_CITY, EL_EXAMPLE_CITY_MADRID)))) .sort(ExpenseReportsData.COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); assertThat(result.getRowCount()).isEqualTo(7); assertDataSetValue(result, 0, 0, "9.00"); assertDataSetValue(result, 6, 0, "28.00"); }
@Test public void testCombinedExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, AND( equalsTo(COLUMN_DEPARTMENT, "Sales"), OR(NOT(lowerThan(300)), equalsTo(COLUMN_CITY, "Madrid")))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(7); assertDataSetValue(result, 0, 0, "9.00"); assertDataSetValue(result, 6, 0, "28.00"); }
@Test public void testORExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EL_DATASET_UUID) .filter(ExpenseReportsData.COLUMN_AMOUNT, OR(lowerThan(200), greaterThan(1000))) .sort(ExpenseReportsData.COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); assertThat(result.getRowCount()).isEqualTo(11); assertDataSetValue(result, 0, 0, "1.00"); assertDataSetValue(result, 1, 0, "2.00"); assertDataSetValue(result, 2, 0, "6.00"); assertDataSetValue(result, 3, 0, "9.00"); assertDataSetValue(result, 4, 0, "10.00"); assertDataSetValue(result, 5, 0, "15.00"); assertDataSetValue(result, 6, 0, "17.00"); assertDataSetValue(result, 7, 0, "23.00"); assertDataSetValue(result, 8, 0, "24.00"); assertDataSetValue(result, 9, 0, "30.00"); assertDataSetValue(result, 10, 0, "33.00"); }
DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(lowerThan(COLUMN_AMOUNT, null)) .buildLookup()).getRowCount()).isEqualTo(0);