public void GenerateTest2(double[] distribution) { RandomGeneratorImpl r = new RandomGeneratorImpl(distribution); int TOTAL = 10000; for (int i = 0; i < TOTAL; i++) { var random = r.Generate(); NUnit.Framework.Assert.AreEqual(-1, random); } }
public void GenerateTest(double[] distribution) { RandomGeneratorImpl r = new RandomGeneratorImpl(distribution); double[] result = new double[distribution.Length]; double total = distribution.Sum(); int TOTAL = 10000; double DELTA = 0.1; for (int i = 0; i < TOTAL; i++) { var random = r.Generate(); result[random]++; } for (int i = 0; i < distribution.Length; i++) { var expected = distribution[i] / total; var actual = result[i] / TOTAL; NUnit.Framework.Assert.AreEqual(expected, actual, DELTA); } }