### Question:
NumberOfTicksCriterion extends AbstractAnalysisCriterion { @Override public double calculate(TimeSeries series, TradingRecord tradingRecord) { int nTicks = 0; for (Trade trade : tradingRecord.getTrades()) { nTicks += calculate(series, trade); } return nTicks; }  @Override double calculate(TimeSeries series, TradingRecord tradingRecord); @Override double calculate(TimeSeries series, Trade trade); @Override boolean betterThan(double criterionValue1, double criterionValue2);  }### Answer:
@Test public void calculateWithNoTrades() { MockTimeSeries series = new MockTimeSeries(100, 105, 110, 100, 95, 105); AnalysisCriterion numberOfTicks = new NumberOfTicksCriterion(); assertEquals(0, (int) numberOfTicks.calculate(series, new BaseTradingRecord())); }
@Test public void calculateWithTwoTrades() { MockTimeSeries series = new MockTimeSeries(100, 105, 110, 100, 95, 105); TradingRecord tradingRecord = new BaseTradingRecord( Order.buyAt(0), Order.sellAt(2), Order.buyAt(3), Order.sellAt(5)); AnalysisCriterion numberOfTicks = new NumberOfTicksCriterion(); assertEquals(6, numberOfTicks.calculate(series, tradingRecord), TATestsUtils.TA_OFFSET); }
@Test public void calculateWithOneTrade() { MockTimeSeries series = new MockTimeSeries(100, 95, 100, 80, 85, 70); Trade t = new Trade(Order.buyAt(2), Order.sellAt(5)); AnalysisCriterion numberOfTicks = new NumberOfTicksCriterion(); assertEquals(4, numberOfTicks.calculate(series, t), TATestsUtils.TA_OFFSET); }
@Test public void calculateWithNoTrades() { MockTimeSeries series = new MockTimeSeries(100, 105, 110, 100, 95, 105); AnalysisCriterion numberOfTicks = new NumberOfTicksCriterion(); assertEquals(0, (int) numberOfTicks.calculate(series, new TradingRecord())); }
@Test public void calculateWithTwoTrades() { MockTimeSeries series = new MockTimeSeries(100, 105, 110, 100, 95, 105); TradingRecord tradingRecord = new TradingRecord( Order.buyAt(0), Order.sellAt(2), Order.buyAt(3), Order.sellAt(5)); AnalysisCriterion numberOfTicks = new NumberOfTicksCriterion(); assertEquals(6, numberOfTicks.calculate(series, tradingRecord), TATestsUtils.TA_OFFSET); }