use super::super::*;
use crate::types::{ErrorKind, Value};
#[test]
fn median_direct_text_returns_value_error() {
assert_eq!(
median_fn(&[
Value::Number(1.0),
Value::Number(2.0),
Value::Number(3.0),
Value::Text("text".to_string()),
Value::Number(4.0)
]),
Value::Error(ErrorKind::Value)
);
}
#[test]
fn median_bool_coerced_empty_skipped() {
assert_eq!(
median_fn(&[
Value::Bool(true),
Value::Number(2.0),
Value::Empty,
Value::Number(4.0)
]),
Value::Number(2.0)
);
}
#[test]
fn median_all_non_numeric_with_text_returns_value_error() {
assert_eq!(
median_fn(&[Value::Text("a".to_string()), Value::Bool(true), Value::Empty]),
Value::Error(ErrorKind::Value)
);
}
#[test]
fn median_unsorted_input() {
assert_eq!(
median_fn(&[Value::Number(5.0), Value::Number(1.0), Value::Number(3.0)]),
Value::Number(3.0)
);
}