#[cfg(test)]
mod tests {
use spindalis::derivatives::simple_derivative;
#[test]
fn test_derivative_simple() {
let poly = vec![4.0, 3.0, 2.0]; let deriv = simple_derivative(&poly);
assert_eq!(deriv, vec![3.0, 4.0]);
}
#[test]
fn test_derivative_constant() {
let poly = vec![5.0]; let deriv = simple_derivative(&poly);
assert!(deriv.is_empty()); }
#[test]
fn test_derivative_linear() {
let poly = vec![2.0, 3.0]; let deriv = simple_derivative(&poly);
assert_eq!(deriv, vec![3.0]); }
#[test]
fn test_derivative_zero_poly() {
let poly = vec![];
let deriv = simple_derivative(&poly);
assert!(deriv.is_empty());
}
#[test]
fn test_derivative_higher_degree() {
let poly = vec![1.0, -4.0, 3.0, 2.0]; let deriv = simple_derivative(&poly);
assert_eq!(deriv, vec![-4.0, 6.0, 6.0]);
}
#[test]
fn test_derivative_with_zero_coefficients() {
let poly = vec![0.0, 0.0, 5.0]; let deriv = simple_derivative(&poly);
assert_eq!(deriv, vec![0.0, 10.0]);
}
#[test]
fn test_derivative_large_coeffs() {
let poly = vec![1e6, -2e6, 3e6]; let deriv = simple_derivative(&poly);
assert_eq!(deriv, vec![-2e6, 6e6]);
}
}