def test_pmf_1(): """Test PMF with only one possible event""" p = np.array([1.0]) rso = np.random.RandomState(29348) dist = MultinomialDistribution(p, rso=rso) assert dist.pmf(np.array([1])) == 1.0 assert dist.pmf(np.array([2])) == 1.0 assert dist.pmf(np.array([10])) == 1.0
def test_pmf_3(): """Test PMF with two possible events, both with nonzero probability""" p = np.array([0.5, 0.5]) rso = np.random.RandomState(29348) dist = MultinomialDistribution(p, rso=rso) assert dist.pmf(np.array([1, 0])) == 0.5 assert dist.pmf(np.array([0, 1])) == 0.5 assert dist.pmf(np.array([2, 0])) == 0.25 assert dist.pmf(np.array([0, 2])) == 0.25 assert dist.pmf(np.array([1, 1])) == 0.5
def test_pmf_2(): """Test PMF with two possible events, one with zero probability""" p = np.array([1.0, 0.0]) rso = np.random.RandomState(29348) dist = MultinomialDistribution(p, rso=rso) assert dist.pmf(np.array([1, 0])) == 1.0 assert dist.pmf(np.array([0, 1])) == 0.0 assert dist.pmf(np.array([2, 0])) == 1.0 assert dist.pmf(np.array([2, 2])) == 0.0 assert dist.pmf(np.array([10, 0])) == 1.0 assert dist.pmf(np.array([10, 3])) == 0.0 p = np.array([0.0, 1.0]) rso = np.random.RandomState(29348) dist = MultinomialDistribution(p, rso=rso) assert dist.pmf(np.array([0, 1])) == 1.0 assert dist.pmf(np.array([1, 0])) == 0.0 assert dist.pmf(np.array([0, 2])) == 1.0 assert dist.pmf(np.array([2, 2])) == 0.0 assert dist.pmf(np.array([0, 10])) == 1.0 assert dist.pmf(np.array([3, 10])) == 0.0