package uk.ac.rhul.cs.stats; import static org.junit.Assert.*; import org.junit.Test; import uk.ac.rhul.cs.stats.descriptive.MeanVar; public class MeanVarTest { static double[] data = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 27 }; @Test public void testAddValue() { MeanVar mv = new MeanVar(29); for (int i = 0; i < data.length; i++) mv.addValue(data[i]); assertEquals(14.18182, mv.getMean(), 1e-3); assertEquals(11, mv.getN()); assertEquals(9.558433, mv.getSd(), 1e-3); assertEquals(91.36364, mv.getVariance(), 1e-3); } @Test public void testClone() { MeanVar mv = new MeanVar(data), mv2 = (MeanVar)mv.clone(); assertEquals(mv.getMean(), mv2.getMean(), 1e-3); assertEquals(mv.getN(), mv2.getN()); assertEquals(mv.getSd(), mv2.getSd(), 1e-3); assertEquals(mv.getVariance(), mv2.getVariance(), 1e-3); } @Test public void testGetMean() { MeanVar mv = new MeanVar(data); assertEquals(12.7, mv.getMean(), 1e-7); } @Test public void testGetN() { MeanVar mv = new MeanVar(data); assertEquals(10, mv.getN()); } @Test public void testGetSd() { MeanVar mv = new MeanVar(data); assertEquals(8.64163, mv.getSd(), 1e-3); } @Test public void testGetVariance() { MeanVar mv = new MeanVar(data); assertEquals(74.677777777777777, mv.getVariance(), 1e-3); } }