use super::super::*;
use crate::types::Value;
#[test]
fn trimmean_percent_zero_no_trimming() {
let data = Value::Array(vec![
Value::Number(1.0),
Value::Number(2.0),
Value::Number(3.0),
Value::Number(4.0),
Value::Number(5.0),
]);
assert_eq!(trimmean_fn(&[data, Value::Number(0.0)]), Value::Number(3.0));
}
#[test]
fn trimmean_percent_near_one() {
let data = Value::Array(
(1..=10).map(|i| Value::Number(i as f64)).collect(),
);
let result = trimmean_fn(&[data, Value::Number(0.8)]);
assert_eq!(result, Value::Number(5.5));
}
#[test]
fn trimmean_odd_count() {
let data = Value::Array(vec![
Value::Number(1.0),
Value::Number(2.0),
Value::Number(3.0),
Value::Number(4.0),
Value::Number(5.0),
]);
assert_eq!(trimmean_fn(&[data, Value::Number(0.4)]), Value::Number(3.0));
}