@Test public void testTrimGroup() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DEPARTMENT) .column(COLUMN_CITY) .column(COLUMN_DEPARTMENT) .column(COLUMN_AMOUNT, AggregateFunctionType.SUM) .rowNumber(10) .buildLookup()); assertThat(result.getColumns().size()).isEqualTo(3); assertThat(result.getRowCount()).isEqualTo(5); assertThat(result.getRowCountNonTrimmed()).isEqualTo(5); }
@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 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 testGroupByQuarter() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DATE).fixed(QUARTER, true).select("1") .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(14); }
@Test public void testFilterAfterSelect() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DEPARTMENT).select("Support") .group(COLUMN_DATE).dynamic(DateIntervalType.YEAR, true).select("2012") .column(COLUMN_ID) .column(COLUMN_DEPARTMENT) .column(COLUMN_DATE) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(4); }
@Test public void testGroupByDayOfWeekDynamic() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DATE).dynamic(9999, DAY_OF_WEEK, true) .column(COLUMN_DATE, "Period") .column(COUNT, "Occurrences") .column(COLUMN_AMOUNT, SUM, "totalAmount") .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(1438); assertThat(result.getValueAt(0, 0)).isEqualTo("2012-01-04"); }
@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 testDataSetGroupByHour() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(DataSetGroupTest.EXPENSE_REPORTS) .filter(ID.getName(), FilterFactory.AND( FilterFactory.greaterOrEqualsTo(40), FilterFactory.lowerOrEqualsTo(41))) .group(DATE.getName()).dynamic(9999, DateIntervalType.HOUR, true) .column(DATE.getName()) .buildLookup()); assertThat(result.getRowCount()).isEqualTo(25); assertThat(result.getValueAt(0,0)).isEqualTo("2012-06-12 12"); }
@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 testFilterAfterSelect() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DEPARTMENT).select("Support") .group(COLUMN_DATE).dynamic(DateIntervalType.YEAR, true).select("2012") .column(COLUMN_ID) .column(COLUMN_DEPARTMENT) .column(COLUMN_DATE) .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(4); }
@Test(expected = RuntimeException.class) public void testAggregationFunctionByNonExistingColumn() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EL_DATASET_UUID) .group(ExpenseReportsData.COLUMN_DEPARTMENT) .column(ExpenseReportsData.COLUMN_DEPARTMENT, "Department") .column(COUNT, "Occurrences") .column("mycolumn", MIN, "min") .buildLookup()); }
public DataSet lookupGroupByMonthDynamic(boolean emptyIntervals) throws Exception { return dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DATE).dynamic(99, MONTH, emptyIntervals) .column(COLUMN_DATE, "Period") .column(COLUMN_EMPLOYEE, "Employee") .column(COUNT, "Occurrences") .column(COLUMN_AMOUNT, SUM, "totalAmount") .buildLookup()); }
public DataSet lookupGroupByMonthDynamic(boolean emptyIntervals) throws Exception { return dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DATE).dynamic(99, MONTH, emptyIntervals) .column(COLUMN_DATE, "Period") .column(COLUMN_EMPLOYEE, "Employee") .column(COUNT, "Occurrences") .column(COLUMN_AMOUNT, SUM, "totalAmount") .buildLookup()); }
@Test public void testAvoidDuplicatedGroupColumn() throws Exception { // In some DBs (MonetDB for instance), duplicated columns in "group by" fails dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(DataSetGroupTest.EXPENSE_REPORTS) .group(COLUMN_DEPARTMENT) .column("Department") .column(COLUMN_AMOUNT, SUM) .rowNumber(3) .rowOffset(0) .buildLookup()); }
@Test public void testAvoidDuplicatedGroupColumn() throws Exception { // In some DBs (MonetDB for instance), duplicated columns in "group by" fails dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(DataSetGroupTest.EXPENSE_REPORTS) .group(COLUMN_DEPARTMENT) .column("Department") .column(COLUMN_AMOUNT, SUM) .rowNumber(3) .rowOffset(0) .buildLookup()); }
@Test public void testGroupByQuarter() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DATE).fixed(QUARTER, true).select("1") .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(14); }
@Test public void testGroupByDateOneDay() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_ID, FilterFactory.equalsTo(1d)) .group(COLUMN_DATE).dynamic(16, DAY, true) .column(COLUMN_DATE) .column(COLUMN_AMOUNT, SUM, "total") .buildLookup()); //printDataSet(result); assertDataSetValues(result, dataSetFormatter, new String[][]{ {"2015-12-11", "120.35"} }, 0); }
@Test public void testGroupByDayOfWeekDynamic() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .group(COLUMN_DATE).dynamic(9999, DAY_OF_WEEK, true) .column(COLUMN_DATE, "Period") .column(COUNT, "Occurrences") .column(COLUMN_AMOUNT, SUM, "totalAmount") .buildLookup()); //printDataSet(result); assertThat(result.getRowCount()).isEqualTo(1438); assertThat(result.getValueAt(0, 0)).isEqualTo("2012-01-04"); }
@Test public void testDataSetGroupByHour() throws Exception { DataSet result = dataSetManager.lookupDataSet( DataSetLookupFactory.newDataSetLookupBuilder() .dataset(DataSetGroupTest.EXPENSE_REPORTS) .filter(ID.getName(), FilterFactory.AND( FilterFactory.greaterOrEqualsTo(40), FilterFactory.lowerOrEqualsTo(41))) .group(DATE.getName()).dynamic(9999, DateIntervalType.HOUR, true) .column(DATE.getName()) .buildLookup()); assertThat(result.getRowCount()).isEqualTo(25); assertThat(result.getValueAt(0,0)).isEqualTo("2012-06-12 12"); }