public void DistributionFunctionTest()
{
TDistribution target = new TDistribution(1);
double expected = 0.5;
double actual = target.DistributionFunction(0);
Assert.IsFalse(Double.IsNaN(actual));
Assert.AreEqual(expected, actual, 1e-15);
expected = 0.92559723470138278;
actual = target.DistributionFunction(4.2);
Assert.AreEqual(expected, actual);
target = new TDistribution(2);
expected = 0.5;
actual = target.DistributionFunction(0);
Assert.AreEqual(expected, actual);
expected = 0.97385836652685043;
actual = target.DistributionFunction(4.2);
Assert.AreEqual(expected, actual);
target = new TDistribution(3);
expected = 0.5;
actual = target.DistributionFunction(0);
Assert.IsFalse(Double.IsNaN(actual));
Assert.AreEqual(expected, actual, 1e-15);
expected = 0.98768396091153043;
actual = target.DistributionFunction(4.2);
Assert.AreEqual(expected, actual);
expected = 0.16324737815131229;
actual = target.DistributionFunction(-1.17);
Assert.AreEqual(expected, actual);
}