ACTUALLY fix SteppedVector

This commit is contained in:
Simon Gardling 2022-03-22 14:01:54 -04:00
parent 0cd8f28aad
commit b89cf04dcc

View File

@ -99,9 +99,6 @@ impl From<Vec<f64>> 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<Vec<f64>> for SteppedVector {
#[test]
fn stepped_vector_test() {
let min = 0;
let max = 10;
let min: i32 = -10;
let max: i32 = 10;
let data: Vec<f64> = (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