public void Test_MultinomialPMF()
 {
     double[,] test_multPMF = MultinomialDistribution.GetDist(MockNumberOfTrials, MockProbabilites);
     Assert.AreEqual(0.006898447265625, test_multPMF[5, 1], 0.0001);
     Assert.AreEqual(0.0051099609375, test_multPMF[3, 2], 0.0001);
     Assert.AreNotEqual(0, test_multPMF[0, 20]);
     foreach (double testValue in test_multPMF)
     {
         Assert.GreaterOrEqual(testValue, 0);
     }
 }
 public void Test_ExtremeCases()
 {
     double[,] test_multPMF = MultinomialDistribution.GetDist(50, new double[] { 0, 1 });
     for (int i = 0; i < test_multPMF.GetLength(0); ++i)
     {
         for (int j = 0; j < test_multPMF.GetLength(1) - i; ++j)
         {
             Assert.LessOrEqual(0, test_multPMF[i, j], string.Format("{0},{1}", i, j));
             Assert.GreaterOrEqual(1, test_multPMF[i, j], string.Format("{0},{1}", i, j));
         }
     }
 }