public void DistributionFunctionTest()
{
// Create a new Poisson distribution
var dist = new PoissonDistribution(lambda: 4.2);
// P(X = 1) = 0.0629814226460064
double equal = dist.ProbabilityMassFunction(k: 1);
// P(X < 1) = 0.0149955768204777
double less = dist.DistributionFunction(k: 1, inclusive: false);
// P(X ≤ 1) = 0.0779769994664841
double lessThanOrEqual = dist.DistributionFunction(k: 1, inclusive: true);
// P(X > 1) = 0.922023000533516
double greater = dist.ComplementaryDistributionFunction(k: 1);
// P(X ≥ 1) = 0.985004423179522
double greaterThanOrEqual = dist.ComplementaryDistributionFunction(k: 1, inclusive: true);
Assert.AreEqual(equal, 0.0629814226460064, 1e-10);
Assert.AreEqual(less, 0.0149955768204777, 1e-10);
Assert.AreEqual(lessThanOrEqual, 0.0779769994664841, 1e-10);
Assert.AreEqual(greater, 0.922023000533516, 1e-10);
Assert.AreEqual(greaterThanOrEqual, 0.985004423179522, 1e-10);
}