public void ProbabilityMassFunctionTest()
{
double successProbability = 0.42;
GeometricDistribution target = new GeometricDistribution(successProbability);
double[] expected = { 0, 0.42, 0.2436, 0.141288, 0.08194704, 0.0475292832, 0.027566984256 };
for (int i = 0; i < expected.Length; i++)
{
double actual = target.ProbabilityMassFunction(i - 1);
Assert.AreEqual(expected[i], actual, 1e-10);
Assert.IsFalse(Double.IsNaN(actual));
}
}