### Question:
FatStats extends AbstractStats { public FatStats add(FatStats stats) { Validate.notNull(stats, "stats must not be null"); values.addAll(stats.values); sorted = false; return this; } FatStats();  FatStats(Collection<? extends Number> values);  FatStats(int size); FatStats add(FatStats stats); @Override Stats add(Number value); @Override Stats add(Number... values); @Override double getMean(); @Override double getStandardDeviation(); double getStandardError(); @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(); @Override boolean isSample(); @Override Iterator<Double> iterator(); @Override String toString(); static final Factory<FatStats> FACTORY; }### Answer:
@Test public void testMedian() { assertEquals(2.5, new FatStats().add(1., 1., 2., 3., 1035., 89898.68).getMedian(), 0); assertEquals(2., new FatStats().add(0., 1., 2., 3., 4.).getMedian(), 0); assertEquals(2.5, new FatStats().add(0., 1., 2., 3., 4., 5.).getMedian(), 0); assertEquals(7., new FatStats().add(9., 7., 2.).getMedian(), 0.00001); assertEquals(0., new FatStats().add(0., 0., 0., 1.).getMedian(), 0); assertEquals(3948348538l, new FatStats().add(1l, 2l, 3948348538l, 3948348539l, 3948348540l).getMedian(), 0); assertEquals(1, new FatStats().add(1).getMedian(), 0); assertEquals(1, new FatStats().add(1, 1).getMedian(), 0); }