@Before public void setup() { floatFirstAggregatorFactory = new FloatFirstAggregatorFactory("billy", "nilly"); combiningAggFactory = (FloatFirstAggregatorFactory) floatFirstAggregatorFactory.getCombiningFactory(); timeSelector = new TestLongColumnSelector(times); valueSelector = new TestFloatColumnSelector(floats); objectSelector = new TestObjectColumnSelector<>(pairs); colSelectorFactory = EasyMock.createMock(ColumnSelectorFactory.class); EasyMock.expect(colSelectorFactory.makeColumnValueSelector(ColumnHolder.TIME_COLUMN_NAME)).andReturn(timeSelector); EasyMock.expect(colSelectorFactory.makeColumnValueSelector("nilly")).andReturn(valueSelector); EasyMock.expect(colSelectorFactory.makeColumnValueSelector("billy")).andReturn(objectSelector); EasyMock.replay(colSelectorFactory); }
@Before public void setup() { floatLastAggregatorFactory = new FloatLastAggregatorFactory("billy", "nilly"); combiningAggFactory = (FloatLastAggregatorFactory) floatLastAggregatorFactory.getCombiningFactory(); timeSelector = new TestLongColumnSelector(times); valueSelector = new TestFloatColumnSelector(floats); objectSelector = new TestObjectColumnSelector<>(pairs); colSelectorFactory = EasyMock.createMock(ColumnSelectorFactory.class); EasyMock.expect(colSelectorFactory.makeColumnValueSelector(ColumnHolder.TIME_COLUMN_NAME)).andReturn(timeSelector); EasyMock.expect(colSelectorFactory.makeColumnValueSelector("nilly")).andReturn(valueSelector); EasyMock.expect(colSelectorFactory.makeColumnValueSelector("billy")).andReturn(objectSelector); EasyMock.replay(colSelectorFactory); }
@Test public void testAggregate() { final float[] values = {0.15f, 0.27f}; final TestFloatColumnSelector selector = new TestFloatColumnSelector(values); FilteredAggregatorFactory factory = new FilteredAggregatorFactory( new DoubleSumAggregatorFactory("billy", "value"), new SelectorDimFilter("dim", "a", null) ); FilteredAggregator agg = (FilteredAggregator) factory.factorize(makeColumnSelector(selector)); double expectedFirst = new Float(values[0]).doubleValue(); double expectedSecond = new Float(values[1]).doubleValue() + expectedFirst; double expectedThird = expectedSecond; assertValues(agg, selector, expectedFirst, expectedSecond, expectedThird); }
@Test public void testAggregateWithOrFilter() { final float[] values = {0.15f, 0.27f, 0.14f}; final TestFloatColumnSelector selector = new TestFloatColumnSelector(values); FilteredAggregatorFactory factory = new FilteredAggregatorFactory( new DoubleSumAggregatorFactory("billy", "value"), new OrDimFilter(Lists.newArrayList(new SelectorDimFilter("dim", "a", null), new SelectorDimFilter("dim", "b", null))) ); FilteredAggregator agg = (FilteredAggregator) factory.factorize( makeColumnSelector(selector) ); double expectedFirst = new Float(values[0]).doubleValue(); double expectedSecond = new Float(values[1]).doubleValue() + expectedFirst; double expectedThird = expectedSecond + new Float(values[2]).doubleValue(); assertValues(agg, selector, expectedFirst, expectedSecond, expectedThird); }
@Test public void testCompute() { ApproximateHistogram ah = buildHistogram(10, VALUES); final TestFloatColumnSelector selector = new TestFloatColumnSelector(VALUES); ApproximateHistogramAggregator agg = new ApproximateHistogramAggregator(selector, 10, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY); //noinspection ForLoopReplaceableByForEach for (int i = 0; i < VALUES.length; i++) { agg.aggregate(); selector.increment(); } Map<String, Object> metricValues = new HashMap<String, Object>(); metricValues.put("price", agg.get()); ApproximateHistogramPostAggregator approximateHistogramPostAggregator = new EqualBucketsPostAggregator( "approxHist", "price", 5 ); Assert.assertEquals(ah.toHistogram(5), approximateHistogramPostAggregator.compute(metricValues)); }
@Test public void testBufferAggregate() final TestFloatColumnSelector selector1 = new TestFloatColumnSelector(new float[]{42.12f, 9f}); final TestFloatColumnSelector selector2 = new TestFloatColumnSelector(new float[]{2f, 3f});
@Test public void testAggregateWithNotFilter() { final float[] values = {0.15f, 0.27f}; final TestFloatColumnSelector selector = new TestFloatColumnSelector(values); FilteredAggregatorFactory factory = new FilteredAggregatorFactory( new DoubleSumAggregatorFactory("billy", "value"), new NotDimFilter(new SelectorDimFilter("dim", "b", null)) ); validateFilteredAggs(factory, values, selector); }
new BoundDimFilter("dim", "a", "a", false, false, true, null, StringComparators.ALPHANUMERIC) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); new RegexDimFilter("dim", "a", null) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); new SearchQueryDimFilter("dim", new ContainsSearchQuerySpec("a", true), null) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); new JavaScriptDimFilter("dim", jsFn, null, JavaScriptConfig.getEnabledInstance()) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector);
@Test public void testAggregateWithAndFilter() { final float[] values = {0.15f, 0.27f}; final TestFloatColumnSelector selector = new TestFloatColumnSelector(values); FilteredAggregatorFactory factory = new FilteredAggregatorFactory( new DoubleSumAggregatorFactory("billy", "value"), new AndDimFilter(Lists.newArrayList(new NotDimFilter(new SelectorDimFilter("dim", "b", null)), new SelectorDimFilter("dim", "a", null)))); validateFilteredAggs(factory, values, selector); }
new SelectorDimFilter("dim", "aAARDVARK", extractionFn) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); new InDimFilter("dim", Arrays.asList("NOT-aAARDVARK", "FOOBAR", "aAARDVARK"), extractionFn) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); new RegexDimFilter("dim", "aAARDVARK", extractionFn) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); new SearchQueryDimFilter("dim", new ContainsSearchQuerySpec("aAARDVARK", true), extractionFn) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector); new JavaScriptDimFilter("dim", jsFn, extractionFn, JavaScriptConfig.getEnabledInstance()) ); selector = new TestFloatColumnSelector(values); validateFilteredAggs(factory, values, selector);
final TestFloatColumnSelector selector = new TestFloatColumnSelector(values);
final int numBuckets = 5; final TestFloatColumnSelector selector = new TestFloatColumnSelector(values);
final float[] breaks = {-1f, -0.5f, 0.0f, 0.5f, 1f}; final TestFloatColumnSelector selector = new TestFloatColumnSelector(values);
final float[] breaks = {-1f, -0.5f, 0.0f, 0.5f, 1f}; final TestFloatColumnSelector selector = new TestFloatColumnSelector(values);