From e76f39d32bf32a3f73db1878b2305cffc01111a1 Mon Sep 17 00:00:00 2001 From: timeshifter Date: Sun, 14 Aug 2022 18:09:44 +0200 Subject: [PATCH] move prime tests to prime modules --- euler51/src/main.rs | 6 ------ euler51/src/primes.rs | 24 +++++++++++++++++++----- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/euler51/src/main.rs b/euler51/src/main.rs index 79bf357..f96361d 100644 --- a/euler51/src/main.rs +++ b/euler51/src/main.rs @@ -76,10 +76,4 @@ mod test { let num = 83371; assert_eq!(num_to_digits(&num), vec![8, 3, 3, 7, 1]); } - - #[test] - fn test_example_prime() { - let num: Int = 56003; - assert!(Primes::get_between(MIN_VALUE, MAX_VALUE).set.contains(&num)); - } } diff --git a/euler51/src/primes.rs b/euler51/src/primes.rs index 7402a05..b26d409 100644 --- a/euler51/src/primes.rs +++ b/euler51/src/primes.rs @@ -17,12 +17,14 @@ where T: Num + ToPrimitive + FromPrimitive + Hash + Eq + PartialEq + Copy, { pub fn get_between(min_value: T, max_value: T) -> Self { - let max_value_usize = max_value.to_usize().unwrap(); - let min_value_usize = min_value.to_usize().unwrap(); + let max_value = max_value.to_usize().unwrap(); + let min_value = min_value.to_usize().unwrap(); + assert!(min_value > 1); + assert!(max_value > min_value); Self::from_array( - Self::get_prime_numbers_array(&min_value_usize, &max_value_usize), - &min_value_usize, - &max_value_usize, + Self::get_prime_numbers_array(&min_value, &max_value), + &min_value, + &max_value, ) } @@ -69,3 +71,15 @@ where }; } } + +#[cfg(test)] +mod test { + use crate::primes::Primes; + + #[test] + fn test_example_prime() { + let primes = Primes::get_between(2, 99_999); + assert!(primes.set.contains(&56003)); + assert!(!primes.set.contains(&56002)); + } +}