public void DistributionFunctionTest()
{
double successProbability = 0.42;
GeometricDistribution target = new GeometricDistribution(successProbability);
double[] values = { -1, 0, 1, 2, 3, 4, 5 };
double[] expected = { 0, 0.42, 0.6636, 0.804888, 0.88683504, 0.9343643232, 0.961931307456 };
for (int i = 0; i < values.Length; i++)
{
double actual = target.DistributionFunction(i - 1);
Assert.AreEqual(expected[i], actual, 1e-10);
Assert.IsFalse(Double.IsNaN(actual));
}
}