Skip to content

Commit 8581fd0

Browse files
committed
Add tests for invalid parameters Uniform, Triangular, DiscreteUniform
1 parent a1e753f commit 8581fd0

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

pymc3/tests/test_distributions.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,10 @@ def test_uniform(self):
802802
lambda value, lower, upper: sp.uniform.logcdf(value, lower, upper - lower),
803803
skip_paramdomain_outside_edge_test=True,
804804
)
805+
# Custom logp / logcdf check for invalid parameters
806+
invalid_dist = Uniform.dist(lower=1, upper=0)
807+
assert invalid_dist.logp(0.5).tag.test_value == -np.inf
808+
assert invalid_dist.logcdf(2).tag.test_value == -np.inf
805809

806810
def test_triangular(self):
807811
self.check_logp(
@@ -817,6 +821,14 @@ def test_triangular(self):
817821
lambda value, c, lower, upper: sp.triang.logcdf(value, c - lower, lower, upper - lower),
818822
skip_paramdomain_outside_edge_test=True,
819823
)
824+
# Custom logp check for invalid value
825+
valid_dist = Triangular.dist(lower=0, upper=1, c=2.0)
826+
assert np.all(valid_dist.logp(np.array([1.9, 2.0, 2.1])).tag.test_value == -np.inf)
827+
828+
# Custom logp / logcdf check for invalid parameters
829+
invalid_dist = Triangular.dist(lower=1, upper=0, c=2.0)
830+
assert invalid_dist.logp(0.5).tag.test_value == -np.inf
831+
assert invalid_dist.logcdf(2).tag.test_value == -np.inf
820832

821833
def test_bound_normal(self):
822834
PositiveNormal = Bound(Normal, lower=0.0)
@@ -850,6 +862,10 @@ def test_discrete_unif(self):
850862
Rdunif,
851863
{"lower": -Rplusdunif, "upper": Rplusdunif},
852864
)
865+
# Custom logp / logcdf check for invalid parameters
866+
invalid_dist = DiscreteUniform.dist(lower=1, upper=0)
867+
assert invalid_dist.logp(0.5).tag.test_value == -np.inf
868+
assert invalid_dist.logcdf(2).tag.test_value == -np.inf
853869

854870
def test_flat(self):
855871
self.check_logp(Flat, Runif, {}, lambda value: 0)

0 commit comments

Comments
 (0)