AggregateDistinctValue implements IAggregate, IAggregateClone { public AggregateDistinctValue(IAggregate agg) { if (agg == null) { String msg = "Inner Aggregate Operator is null."; LOG.error(msg); throw new IllegalArgumentException(msg); } this.inner = agg; this.valueSet = new RefCountedSet<Object>(); } AggregateDistinctValue(IAggregate agg); @Override void enter(Object value, boolean filter); @Override void leave(Object value, boolean filter); @Override Object getValue(); @Override void clear(); IAggregate cloneAggregate(); @Override Class< ? > getValueType(); IAggregate getInner();  }
@Test public void testAggregateDistinctValue() { try { agg = new AggregateDistinctValue(null); fail(); } catch (IllegalArgumentException e) { Assert.assertTrue(true); } }