use crate::State;
pub(crate) const XINDEX: usize = 0;
pub(crate) const YINDEX: usize = 1;
pub(crate) const KX_INDEX: usize = 2;
pub(crate) const KY_INDEX: usize = 3;
#[cfg(test)]
pub(crate) fn increase(data: &Vec<State>, index: usize) -> bool {
let mut last = data[0][index];
for r in data.iter().filter(|v| !v[0].is_nan()).skip(1) {
if !(r[index] > last) {
return false;
}
last = r[index];
}
return true;
}
pub(crate) fn decrease(data: &Vec<State>, index: usize) -> bool {
let mut last = data[0][index];
for r in data.iter().filter(|v| !v[0].is_nan()).skip(1) {
if !(r[index] < last) {
return false;
}
last = r[index];
}
return true;
}
pub(crate) fn same(data: &Vec<State>, index: usize) -> bool {
let mut last = data[0][index];
for r in data.iter().filter(|v| !v[0].is_nan()).skip(1) {
if !(r[index] == last) {
println!("Expected {last} but got {}", r[index]);
return false;
}
last = r[index];
}
return true;
}