Skip to content

Commit

Permalink
Add test for float ranges
Browse files Browse the repository at this point in the history
  • Loading branch information
vks committed Jul 31, 2020
1 parent 683b0b5 commit f727b95
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions src/rng.rs
Expand Up @@ -152,7 +152,7 @@ pub trait Rng: RngCore {
/// // Exclusive range
/// let n: u32 = rng.gen_range(0..10);
/// println!("{}", n);
/// let m: f64 = rng.gen_range(-40.0f64..1.3e5f64);
/// let m: f64 = rng.gen_range(-40.0..1.3e5);
/// println!("{}", m);
///
/// // Inclusive range
Expand Down Expand Up @@ -517,7 +517,7 @@ mod test {
}

#[test]
fn test_gen_range() {
fn test_gen_range_int() {
let mut r = rng(101);
for _ in 0..1000 {
let a = r.gen_range(-4711..17);
Expand All @@ -528,15 +528,30 @@ mod test {
assert!(a >= 10u16 && a < 99u16);
let a = r.gen_range(-100i32..2000);
assert!(a >= -100i32 && a < 2000i32);
let a: u32 = r.gen_range(12..24);
assert!(a >= 12u32 && a < 24u32);
let a: u32 = r.gen_range(12..=24);
assert!(a >= 12u32 && a <= 24u32);

assert_eq!(r.gen_range(0u32..1), 0u32);
assert_eq!(r.gen_range(-12i64..-11), -12i64);
assert_eq!(r.gen_range(3_000_000..3_000_001), 3_000_000);
}
}

#[test]
fn test_gen_range_float() {
let mut r = rng(101);
for _ in 0..1000 {
let a = r.gen_range(-4.5..1.7);
assert!(a >= -4.5 && a < 1.7);
let a = r.gen_range(-1.1..=-0.3);
assert!(a >= -1.1 && a <= -0.3);

assert_eq!(r.gen_range(0.0f32..=0.0), 0.);
assert_eq!(r.gen_range(-11.0..=-11.0), -11.);
assert_eq!(r.gen_range(3_000_000.0..=3_000_000.0), 3_000_000.);
}
}

#[test]
#[should_panic]
fn test_gen_range_panic_int() {
Expand Down

0 comments on commit f727b95

Please sign in to comment.