use super::super::*;
use crate::types::Value;
fn num(serial: f64) -> Value {
Value::Number(serial)
}
#[test]
fn d_same_day_is_zero() {
let args = [num(45458.0), num(45458.0), Value::Text("D".into())];
assert_eq!(datedif_fn(&args), Value::Number(0.0));
}
#[test]
fn d_one_day_apart() {
let args = [num(45457.0), num(45458.0), Value::Text("D".into())];
assert_eq!(datedif_fn(&args), Value::Number(1.0));
}
#[test]
fn d_across_leap_day_feb_2024() {
let args = [num(45323.0), num(45352.0), Value::Text("D".into())];
assert_eq!(datedif_fn(&args), Value::Number(29.0));
}
#[test]
fn y_crossing_leap_year() {
let args = [num(44986.0), num(45717.0), Value::Text("Y".into())];
assert_eq!(datedif_fn(&args), Value::Number(2.0));
}
#[test]
fn d_30_day_span() {
let args = [num(45292.0), num(45322.0), Value::Text("D".into())];
assert_eq!(datedif_fn(&args), Value::Number(30.0));
}