public void InverseDistributionFunctionTest()
{
double[] pvalues = { 0.0260838, 0.130419, 0.3287, 0.5665, 0.7687, 0.8982, 0.9629, 0.9887, 0.9972, 0.9994 };
int trials = 20;
double probability = 0.166667;
BinomialDistribution target = new BinomialDistribution(trials, probability);
for (int i = 0; i < pvalues.Length; i++)
{
double p = pvalues[i] + 1e-4;
double actual = target.InverseDistributionFunction(p);
Assert.AreEqual(i + 1, actual);
}
}