@Override public Aggregator factorize(final ColumnSelectorFactory columnFactory) { ColumnSelectorPlus<CardinalityAggregatorColumnSelectorStrategy>[] selectorPluses = DimensionHandlerUtils.createColumnSelectorPluses( STRATEGY_FACTORY, fields, columnFactory ); if (selectorPluses.length == 0) { return NoopAggregator.instance(); } return new CardinalityAggregator(selectorPluses, byRow); }
@Test public void testAggregateValuesWithExtraction() { CardinalityAggregator agg = new CardinalityAggregator( dimInfoListWithExtraction, false ); for (int i = 0; i < values1.size(); ++i) { aggregate(selectorListWithExtraction, agg); } Assert.assertEquals(7.0, (Double) valueAggregatorFactory.finalizeComputation(agg.get()), 0.05); CardinalityAggregator agg2 = new CardinalityAggregator( dimInfoListConstantVal, false ); for (int i = 0; i < values1.size(); ++i) { aggregate(selectorListConstantVal, agg2); } Assert.assertEquals(1.0, (Double) valueAggregatorFactory.finalizeComputation(agg2.get()), 0.05); }
@Test public void testAggregateRowsWithExtraction() { CardinalityAggregator agg = new CardinalityAggregator( dimInfoListWithExtraction, true ); for (int i = 0; i < values1.size(); ++i) { aggregate(selectorListWithExtraction, agg); } Assert.assertEquals(9.0, (Double) rowAggregatorFactory.finalizeComputation(agg.get()), 0.05); CardinalityAggregator agg2 = new CardinalityAggregator( dimInfoListConstantVal, true ); for (int i = 0; i < values1.size(); ++i) { aggregate(selectorListConstantVal, agg2); } Assert.assertEquals(3.0, (Double) rowAggregatorFactory.finalizeComputation(agg2.get()), 0.05); }
@Test public void testAggregateRows() { CardinalityAggregator agg = new CardinalityAggregator( dimInfoList, true ); for (int i = 0; i < values1.size(); ++i) { aggregate(selectorList, agg); } Assert.assertEquals(9.0, (Double) rowAggregatorFactory.finalizeComputation(agg.get()), 0.05); Assert.assertEquals(9L, rowAggregatorFactoryRounded.finalizeComputation(agg.get())); }
@Test public void testAggregateValues() { CardinalityAggregator agg = new CardinalityAggregator( dimInfoList, false ); for (int i = 0; i < values1.size(); ++i) { aggregate(selectorList, agg); } Assert.assertEquals(NullHandling.replaceWithDefault() ? 7.0 : 6.0, (Double) valueAggregatorFactory.finalizeComputation(agg.get()), 0.05); Assert.assertEquals(NullHandling.replaceWithDefault() ? 7L : 6L, rowAggregatorFactoryRounded.finalizeComputation(agg.get())); }
CardinalityAggregator agg1 = new CardinalityAggregator(dimInfo1, true); CardinalityAggregator agg2 = new CardinalityAggregator(dimInfo2, true);
CardinalityAggregator agg1 = new CardinalityAggregator(dimInfo1, false); CardinalityAggregator agg2 = new CardinalityAggregator(dimInfo2, false);
@Override public Aggregator factorize(final ColumnSelectorFactory columnFactory) { ColumnSelectorPlus<CardinalityAggregatorColumnSelectorStrategy>[] selectorPluses = DimensionHandlerUtils.createColumnSelectorPluses( STRATEGY_FACTORY, fields, columnFactory ); if (selectorPluses.length == 0) { return NoopAggregator.instance(); } return new CardinalityAggregator(selectorPluses, byRow); }