### Question:
HistogramStats extends AbstractStats { public HistogramStats(int maxValue) { Validate.isTrue(maxValue > 0, "maxValue must be greater zero"); numbers = new int[maxValue]; } HistogramStats(int maxValue);  HistogramStats(); @Override Stats add(Number value); Stats add(int value, int times); @Override double getMean(); @Override double getStandardDeviation(); @Override double getPercentile(int p); @Override int getCount(); @Override double getMin(); @Override double getMax(); @Override double getSum(); @Override double getMse(); @Override double getCumulativeProbability(double t); @Override double getMode(); void iterate(IntConsumer consumer); double getSkewness(); double getKurtosis(); @Override boolean isSample();  }### Answer:
@Test public void testHistogramStats() { HistogramStats stats = getTestStats(); assertEquals(0, stats.getMin(), DELTA); assertEquals(9, stats.getMax(), DELTA); assertEquals(34, stats.getCount()); assertEquals(164, stats.getSum(), DELTA); assertEquals((double) 164 / 34, stats.getMean(), DELTA); assertEquals(9, stats.getRange(), DELTA); assertEquals(5, stats.getMedian(), DELTA); assertEquals(1, stats.getPercentile(10), DELTA); assertEquals(2.639859491, stats.getStandardDeviation(), DELTA); assertEquals(-0.048559743, stats.getSkewness(), DELTA); assertEquals(-0.955284212, stats.getKurtosis(), DELTA); assertEquals(5, stats.getMode(), DELTA); }