public void JointDistributionConstructorTest2()
{
int[] symbols = { 3, 5, 2 };
JointDistribution target = new JointDistribution(symbols);
double[] p = target.Frequencies;
Assert.AreEqual(3 * 5 * 2, p.Length);
for (int i = 0; i < p.Length; i++)
p[i] = i;
double actual;
actual = target.ProbabilityMassFunction(new int[] { 0, 0, 0 });
Assert.AreEqual(0, actual);
actual = target.ProbabilityMassFunction(new int[] { 0, 0, 1 });
Assert.AreEqual(1, actual);
actual = target.ProbabilityMassFunction(new int[] { 0, 1, 0 });
Assert.AreEqual(2, actual);
actual = target.ProbabilityMassFunction(new int[] { 0, 1, 1 });
Assert.AreEqual(3, actual);
actual = target.ProbabilityMassFunction(new int[] { 0, 2, 0 });
Assert.AreEqual(4, actual);
actual = target.ProbabilityMassFunction(new int[] { 0, 2, 1 });
Assert.AreEqual(5, actual);
actual = target.ProbabilityMassFunction(new int[] { 2, 4, 1 });
Assert.AreEqual(29, actual);
}