Skip to content

Commit 02b6eb0

Browse files
authored
Merge pull request #1331 from vks/try-from-panic
Add tests for `Uniform::try_from` with invalid ranges
2 parents 176e736 + 1b9d897 commit 02b6eb0

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

Diff for: src/distributions/uniform.rs

+16
Original file line numberDiff line numberDiff line change
@@ -1678,6 +1678,14 @@ mod tests {
16781678
assert_eq!(r.0.scale, 5.0);
16791679
}
16801680

1681+
#[test]
1682+
fn test_uniform_from_std_range_bad_limits() {
1683+
assert!(Uniform::try_from(100..10).is_err());
1684+
assert!(Uniform::try_from(100..100).is_err());
1685+
assert!(Uniform::try_from(100.0..10.0).is_err());
1686+
assert!(Uniform::try_from(100.0..100.0).is_err());
1687+
}
1688+
16811689
#[test]
16821690
fn test_uniform_from_std_range_inclusive() {
16831691
let r = Uniform::try_from(2u32..=6).unwrap();
@@ -1689,6 +1697,14 @@ mod tests {
16891697
assert!(r.0.scale < 5.0 + 1e-14);
16901698
}
16911699

1700+
#[test]
1701+
fn test_uniform_from_std_range_inclusive_bad_limits() {
1702+
assert!(Uniform::try_from(100..=10).is_err());
1703+
assert!(Uniform::try_from(100..=99).is_err());
1704+
assert!(Uniform::try_from(100.0..=10.0).is_err());
1705+
assert!(Uniform::try_from(100.0..=99.0).is_err());
1706+
}
1707+
16921708
#[test]
16931709
fn value_stability() {
16941710
fn test_samples<T: SampleUniform + Copy + core::fmt::Debug + PartialEq>(

0 commit comments

Comments
 (0)