public static ColumnFilter greaterThan(Comparable ref) { return greaterThan(null, ref); }
public static ColumnFilter greaterThan(Comparable ref) { return greaterThan(null, ref); }
@Test public void testFilterByDate() throws Exception { Calendar c = Calendar.getInstance(); c.set(2015, 0, 0, 0, 0); Timestamp date = new Timestamp(c.getTime().getTime()); DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_DATE, greaterThan(new Timestamp(date.getTime()))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(15); }
@Test public void testFilterByDate() throws Exception { Calendar c = Calendar.getInstance(); c.set(2015, 0, 0, 0, 0); Timestamp date = new Timestamp(c.getTime().getTime()); DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_DATE, greaterThan(new Timestamp(date.getTime()))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(15); }
@Test public void testAutoCreateRequiredGroup() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .filter(greaterThan(100)) .column("country") .column("population", AggregateFunctionType.SUM) .buildLookup()); assertEquals(presenter.getFirstGroupColumnId(), "continent"); verify(event).fire(any(DataSetLookupChangedEvent.class)); }
@Test public void testDateGroup() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .filter(greaterThan(100)) .group("year") .column("year", "Year") .column("population", AggregateFunctionType.SUM, "Total") .buildLookup()); verify(view).setGroupEnabled(true); verify(view).setGroupByDateEnabled(true); verify(view, never()).enableGroupColumnSelectorHint(); verify(groupDateEditor).init(any(ColumnGroup.class)); }
@Test public void testDateGroup() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .filter(greaterThan(100)) .group("year") .column("year", "Year") .column("population", AggregateFunctionType.SUM, "Total") .buildLookup()); verify(view).setGroupEnabled(true); verify(view).setGroupByDateEnabled(true); verify(view, never()).enableGroupColumnSelectorHint(); verify(groupDateEditor).init(any(ColumnGroup.class)); }
@Test public void testAutoCreateRequiredGroup() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .filter(greaterThan(100)) .column("country") .column("population", AggregateFunctionType.SUM) .buildLookup()); assertEquals(presenter.getFirstGroupColumnId(), "continent"); verify(event).fire(any(DataSetLookupChangedEvent.class)); }
@Test public void testFromNonExistingLookup() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .filter(greaterThan(100)) .group("country") .column("country", "Country") .column("population", AggregateFunctionType.SUM, "Total") .buildLookup()); verify(view, never()).enableDataSetSelectorHint(); reset(view); presenter.init(DATA_2D_FIXED, null); verify(view).enableDataSetSelectorHint(); }
@Test public void testFromNonExistingLookup() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .filter(greaterThan(100)) .group("country") .column("country", "Country") .column("population", AggregateFunctionType.SUM, "Total") .buildLookup()); verify(view, never()).enableDataSetSelectorHint(); reset(view); presenter.init(DATA_2D_FIXED, null); verify(view).enableDataSetSelectorHint(); }
@Test public void testORExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, OR(NOT(greaterThan(100)), greaterThan(1000), equalsTo(COLUMN_ID, 1))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(8); assertDataSetValue(result, 0, 0, "1.00"); assertDataSetValue(result, 1, 0, "2.00"); assertDataSetValue(result, 7, 0, "30.00"); }
@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 testNOTExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, NOT(greaterThan(100))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(5); assertDataSetValue(result, 0, 0, "9.00"); assertDataSetValue(result, 4, 0, "30.00"); }
@Test public void testGroupSelectionFilter() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, FilterFactory.greaterThan(500)) .group(COLUMN_DEPARTMENT).select("Engineering") .group(COLUMN_CITY).select("Westford") .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(1); assertDataSetValue(result, 0, 0, "26.00"); }
@Test public void testORExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, OR(NOT(greaterThan(100)), greaterThan(1000), equalsTo(COLUMN_ID, 1))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(8); assertDataSetValue(result, 0, 0, "1.00"); assertDataSetValue(result, 1, 0, "2.00"); assertDataSetValue(result, 7, 0, "30.00"); }
@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"); }
@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 testNOTExpression() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, NOT(greaterThan(100))) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(5); assertDataSetValue(result, 0, 0, "9.00"); assertDataSetValue(result, 4, 0, "30.00"); }
@Test public void testGroupSelectionFilter() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_AMOUNT, FilterFactory.greaterThan(500)) .group(COLUMN_DEPARTMENT).select("Engineering") .group(COLUMN_CITY).select("Westford") .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(1); assertDataSetValue(result, 0, 0, "26.00"); }
@Test public void testDataSetLookupMarshalling() { DataSetLookup original = DataSetFactory.newDataSetLookupBuilder() .dataset("mydataset") .filter(OR(notEqualsTo("department", "IT"), greaterOrEqualsTo("amount", 100d))) .filter("department", notEqualsTo("IT")) .filter("amount", between(100d, 200d)) .filter("date", greaterThan(jsonMarshaller.parseDate("2018-01-01 00:00:00"))) .filter("country", isNull()) .group("department").select("Services") .group("date", "year").dynamic(DateIntervalType.YEAR, true) .column("date") .column("amount", AggregateFunctionType.SUM, "total") .sort("date", SortOrder.ASCENDING) .buildLookup(); JsonObject _jsonObj = jsonMarshaller.toJson(original); assertNotNull(_jsonObj.toString()); DataSetLookup unmarshalled = jsonMarshaller.fromJson(_jsonObj); assertEquals(unmarshalled, original); }