public void NormalityTestAlgorithmTest() { int sampleSize = 100; int numberOfMonteCarloTests = 5; double result = 0; NormalityTest.NormalityTestFunc normalityTestFunc = NormalityTest.JaqueBeraTest; // normal distribution Console.WriteLine("normal var"); for (int i = 0; i < numberOfMonteCarloTests; i++) { var distribution = new Normal(50, 1); distribution.RandomSource = new Random(DateTime.Now.Millisecond * i); var normalSamples = distribution.Samples().Take(sampleSize); double[] reallIsNormalSamples = normalSamples.ToArray(); result = normalityTestFunc(reallIsNormalSamples); Console.WriteLine("reallIsNormalSamples_" + i + ": " + result); } Console.WriteLine(); // random distribution. Console.WriteLine("rand var"); Random rnd = new Random(); double[] randomArray = new double[sampleSize]; for (int i = 0; i < numberOfMonteCarloTests; i++) { for (int j = 0; j < sampleSize; j++) { randomArray[j] = rnd.Next(1, 100); } result = normalityTestFunc(randomArray); Console.WriteLine("randomArray_" + i + ": " + result); } Console.WriteLine(); // Uniform distribution Console.WriteLine("rand var"); var uniformSamples = new Normal(100, 0).Samples().Take(sampleSize); double[] uniformSamplesRandomVar = uniformSamples.ToArray(); result = normalityTestFunc(uniformSamplesRandomVar); Console.WriteLine("uniformSamples: " + result); }