use super::super::seriessum_fn;
use crate::types::Value;
fn arr(ns: &[f64]) -> Value {
Value::Array(ns.iter().map(|&n| Value::Number(n)).collect())
}
#[test]
fn single_coeff_identity() {
assert_eq!(
seriessum_fn(&[Value::Number(1.0), Value::Number(0.0), Value::Number(1.0), arr(&[1.0])]),
Value::Number(1.0)
);
}
#[test]
fn two_coeffs() {
assert_eq!(
seriessum_fn(&[Value::Number(2.0), Value::Number(1.0), Value::Number(1.0), arr(&[1.0, 1.0])]),
Value::Number(6.0)
);
}
#[test]
fn step_zero() {
assert_eq!(
seriessum_fn(&[Value::Number(3.0), Value::Number(0.0), Value::Number(0.0), arr(&[5.0])]),
Value::Number(5.0)
);
}
#[test]
fn x_zero() {
assert_eq!(
seriessum_fn(&[Value::Number(0.0), Value::Number(1.0), Value::Number(1.0), arr(&[5.0, 3.0])]),
Value::Number(0.0)
);
}
#[test]
fn step_two() {
assert_eq!(
seriessum_fn(&[Value::Number(2.0), Value::Number(0.0), Value::Number(2.0), arr(&[1.0, 1.0])]),
Value::Number(5.0)
);
}