public void CumulativeExactTest()
{
// example from https://onlinecourses.science.psu.edu/stat414/node/319
double[] ranks =
{
22, 2, 13, 24, 16, 15, 25, 10, 9, 11, 5,
17, 12, 20, 14, 30, 8, 6, 26, 19, 29, 27, 3, 28,
7, 21, 23, 1, 18, 4
};
WilcoxonDistribution target = new WilcoxonDistribution(ranks);
Assert.AreEqual(232.5, target.Mean);
Assert.AreEqual(2363.75, target.Variance);
Assert.AreEqual(Math.Sqrt(2363.75), target.StandardDeviation);
double actual = target.DistributionFunction(200);
double expected = 0.2546;
Assert.AreEqual(expected, actual, 1e-2);
double inv = target.InverseDistributionFunction(actual);
Assert.AreEqual(200, inv);
}