From b89cf04dcc48c26a2c009ae22564eaa8613b2121 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Tue, 22 Mar 2022 14:01:54 -0400 Subject: [PATCH] ACTUALLY fix SteppedVector --- src/misc.rs | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/misc.rs b/src/misc.rs index 95506b4..f0d0c14 100644 --- a/src/misc.rs +++ b/src/misc.rs @@ -99,9 +99,6 @@ impl From> for SteppedVector { min = data[0]; } - assert!(min >= 0.0); - assert!(max >= 0.0); - // Calculate the step between elements let step = (max - min).abs() / (data_length as f64); @@ -117,17 +114,12 @@ impl From> for SteppedVector { #[test] fn stepped_vector_test() { - let min = 0; - let max = 10; + let min: i32 = -10; + let max: i32 = 10; let data: Vec = (min..=max).map(|x| x as f64).collect(); let len_data = data.len(); let stepped_vector: SteppedVector = data.into(); - assert_eq!( - stepped_vector.get_data(), - vec![0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0] - ); - assert_eq!(stepped_vector.get_min(), min as f64); assert_eq!(stepped_vector.get_max(), max as f64); @@ -135,11 +127,14 @@ fn stepped_vector_test() { assert_eq!(stepped_vector.get_index(max as f64), Some(len_data - 1)); for i in min..=max { - assert_eq!(stepped_vector.get_index(i as f64), Some(i)); + assert_eq!( + stepped_vector.get_index(i as f64), + Some((i + min.abs()) as usize) + ); } - assert_eq!(stepped_vector.get_index(-1.0), None); - assert_eq!(stepped_vector.get_index(11.0), None); + assert_eq!(stepped_vector.get_index((min - 1) as f64), None); + assert_eq!(stepped_vector.get_index((max + 1) as f64), None); } // Rounds f64 to specific number of decimal places