public void WeightedEmpiricalDistribution_DistributionFunction()
{
double[][] samples =
{
new double[] { 5, 2 },
new double[] { 1, 5 },
new double[] { 4, 7 },
new double[] { 1, 6 },
new double[] { 2, 2 },
new double[] { 3, 4 },
new double[] { 4, 8 },
new double[] { 3, 2 },
new double[] { 4, 4 },
new double[] { 3, 7 },
new double[] { 2, 4 },
new double[] { 3, 1 },
};
var target = new MultivariateEmpiricalDistribution(samples);
double[] expected =
{
0.33333333333333331, 0.083333333333333329, 0.83333333333333337,
0.16666666666666666, 0.083333333333333329, 0.41666666666666669,
0.91666666666666663, 0.25, 0.5,
0.66666666666666663, 0.16666666666666666, 0.083333333333333329
};
for (int i = 0; i < samples.Length; i++)
{
double e = expected[i];
double a = target.DistributionFunction(samples[i]);
Assert.AreEqual(e, a);
}
}
}