### Question:
AggregatedTicksIndicator implements Indicator { public final Candle getLastFullCandle() { if (lastFullCandle == null) { return aggregator.getPartial(); } return lastFullCandle; } AggregatedTicksIndicator(TimeInterval timeInterval); Aggregator getAggregator(); @Override final void initialize(Aggregator root); @Override final boolean accumulate(Candle candle); final Candle getLastFullCandle(); final Candle getCandle(); @Override final long getInterval(); @Override final long getAccumulationCount(); @Override Signal getSignal(Candle candle); String toString(); final boolean recalculateEveryTick(); @Override double getValue(); static Aggregator getAggregator(Indicator indicator); final void recalculateEveryTick(boolean recalculateEveryTick);  }### Answer:
@Test public void getLastFullCandle() { AggregatedTicksIndicator indicator = new AggregatedTicksIndicator(TimeInterval.minutes(15)); Candle full = null; for (int i = 0; i < values.length; i++) { indicator.accumulate(newCandle(i, values[i][0], values[i][1], values[i][2], values[i][3], values[i][4])); Candle next = indicator.getLastFullCandle(); if (next != full) { if(i >= 15){ assertEquals(next.openTime - full.openTime, 15 * MINUTE.ms); } full = next; } } }