From 1b9d897cb729629a880a07e16184d38340de0219 Mon Sep 17 00:00:00 2001 From: Vinzent Steinberg Date: Wed, 9 Aug 2023 20:41:28 +0200 Subject: [PATCH] Add tests for `Uniform::try_from` with invalid ranges --- src/distributions/uniform.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/distributions/uniform.rs b/src/distributions/uniform.rs index 05bb1b6043..c86c4970bf 100644 --- a/src/distributions/uniform.rs +++ b/src/distributions/uniform.rs @@ -1678,6 +1678,14 @@ mod tests { assert_eq!(r.0.scale, 5.0); } + #[test] + fn test_uniform_from_std_range_bad_limits() { + assert!(Uniform::try_from(100..10).is_err()); + assert!(Uniform::try_from(100..100).is_err()); + assert!(Uniform::try_from(100.0..10.0).is_err()); + assert!(Uniform::try_from(100.0..100.0).is_err()); + } + #[test] fn test_uniform_from_std_range_inclusive() { let r = Uniform::try_from(2u32..=6).unwrap(); @@ -1689,6 +1697,14 @@ mod tests { assert!(r.0.scale < 5.0 + 1e-14); } + #[test] + fn test_uniform_from_std_range_inclusive_bad_limits() { + assert!(Uniform::try_from(100..=10).is_err()); + assert!(Uniform::try_from(100..=99).is_err()); + assert!(Uniform::try_from(100.0..=10.0).is_err()); + assert!(Uniform::try_from(100.0..=99.0).is_err()); + } + #[test] fn value_stability() { fn test_samples(