public void ZTestDistribution() { Random rng = new Random(1); // define the sampling population (which must be normal for a z-test) Distribution population = new NormalDistribution(2.0, 3.0); // collect 100 samples Sample zSample = new Sample(); for (int i = 0; i < 100; i++) { // each z-statistic is formed by making a 4-count sample from a normal distribution Sample sample = new Sample(); for (int j = 0; j < 4; j++) { sample.Add(population.GetRandomValue(rng)); } // for each sample, do a z-test against the population TestResult zResult = sample.ZTest(population.Mean, population.StandardDeviation); zSample.Add(zResult.Statistic); } // the z's should be distrubuted normally TestResult result = zSample.KolmogorovSmirnovTest(new NormalDistribution()); Console.WriteLine("{0} {1}", result.Statistic, result.LeftProbability); Assert.IsTrue((result.LeftProbability > 0.05) && (result.LeftProbability < 0.95)); }