@Override public void aggregate() { if (matcher.matches()) { delegate.aggregate(); } }
@Override public Object get() { return delegate.get(); }
@Override public double getDouble() { return delegate.getDouble(); }
@Test public void testLongMaxAggregator() { Aggregator agg = longMaxAggFactory.factorize(colSelectorFactory); aggregate(selector, agg); aggregate(selector, agg); aggregate(selector, agg); aggregate(selector, agg); Assert.assertEquals(values[2], ((Long) agg.get()).longValue()); Assert.assertEquals(values[2], agg.getLong()); Assert.assertEquals((float) values[2], agg.getFloat(), 0.0001); }
)) { try { agg.aggregate(); if (agg.isNull()) { out.writeByte(NullHandling.IS_NULL_BYTE); } else { out.writeByte(NullHandling.IS_NOT_NULL_BYTE); if ("float".equals(t)) { out.writeFloat(agg.getFloat()); } else if ("long".equals(t)) { WritableUtils.writeVLong(out, agg.getLong()); } else if ("double".equals(t)) { out.writeDouble(agg.getDouble()); } else { Object val = agg.get(); ComplexMetricSerde serde = getComplexMetricSerde(t); writeBytes(serde.toBytes(val), out);
@Test public void testDoubleLastAggregator() { Aggregator agg = doubleLastAggFactory.factorize(colSelectorFactory); aggregate(agg); aggregate(agg); aggregate(agg); aggregate(agg); Pair<Long, Double> result = (Pair<Long, Double>) agg.get(); Assert.assertEquals(times[0], result.lhs.longValue()); Assert.assertEquals(doubles[0], result.rhs, 0.0001); Assert.assertEquals((long) doubles[0], agg.getLong()); Assert.assertEquals(doubles[0], agg.getDouble(), 0.0001); }
@Override public float getFloat() { return delegate.getFloat(); }
@Override public long getLong() { return delegate.getLong(); }
@Test(expected = UnsupportedOperationException.class) public void testComputeWithoutFinalizing() { String aggName = "rows"; Aggregator agg = new CountAggregator(); agg.aggregate(); agg.aggregate(); agg.aggregate(); Map<String, Object> metricValues = new HashMap<>(); metricValues.put(aggName, agg.get()); FinalizingFieldAccessPostAggregator postAgg = new FinalizingFieldAccessPostAggregator("final_rows", aggName); Assert.assertEquals(new Long(3L), postAgg.compute(metricValues)); }
@Override public void close() { delegate.close(); }
@Override public boolean isNull() { return isNullResult || delegate.isNull(); }
@Test public void testLongMinAggregator() { Aggregator agg = longMinAggFactory.factorize(colSelectorFactory); aggregate(selector, agg); aggregate(selector, agg); aggregate(selector, agg); aggregate(selector, agg); Assert.assertEquals(values[2], ((Long) agg.get()).longValue()); Assert.assertEquals(values[2], agg.getLong()); Assert.assertEquals((float) values[2], agg.getFloat(), 0.0001); }
)) { try { agg.aggregate(); if (agg.isNull()) { out.writeByte(NullHandling.IS_NULL_BYTE); } else { out.writeByte(NullHandling.IS_NOT_NULL_BYTE); if ("float".equals(t)) { out.writeFloat(agg.getFloat()); } else if ("long".equals(t)) { WritableUtils.writeVLong(out, agg.getLong()); } else if ("double".equals(t)) { out.writeDouble(agg.getDouble()); } else { Object val = agg.get(); ComplexMetricSerde serde = getComplexMetricSerde(t); writeBytes(serde.toBytes(val), out);
@Test public void testDoubleFirstAggregator() { Aggregator agg = doubleFirstAggFactory.factorize(colSelectorFactory); aggregate(agg); aggregate(agg); aggregate(agg); aggregate(agg); Pair<Long, Double> result = (Pair<Long, Double>) agg.get(); Assert.assertEquals(times[1], result.lhs.longValue()); Assert.assertEquals(doubleValues[1], result.rhs, 0.0001); Assert.assertEquals((long) doubleValues[1], agg.getLong()); Assert.assertEquals(doubleValues[1], agg.getDouble(), 0.0001); }
@Override public float getFloat() { return delegate.getFloat(); }
@Override public long getLong() { return delegate.getLong(); }
@Override public void close() { delegate.close(); } }
@Override public boolean isNull() { return delegate.isNull(); }