#![allow(missing_docs)]
use dtt::prelude::*;
fn main() {
assert!(DateTime::is_valid_year("2024"));
assert!(!DateTime::is_valid_year("10000"));
assert!(DateTime::is_valid_month("12"));
assert!(!DateTime::is_valid_month("13"));
assert!(DateTime::is_valid_day("31"));
assert!(!DateTime::is_valid_day("32"));
assert!(DateTime::is_valid_hour("23"));
assert!(!DateTime::is_valid_hour("24"));
assert!(DateTime::is_valid_minute("59"));
assert!(!DateTime::is_valid_minute("60"));
assert!(DateTime::is_valid_second("59"));
assert!(!DateTime::is_valid_second("60"));
assert!(DateTime::is_valid_microsecond("999999"));
assert!(!DateTime::is_valid_microsecond("1000000"));
assert!(DateTime::is_valid_iso_week("53"));
assert!(!DateTime::is_valid_iso_week("54"));
assert!(DateTime::is_valid_ordinal("366"));
assert!(!DateTime::is_valid_ordinal("367"));
assert!(DateTime::is_valid_time("23:59:59"));
assert!(!DateTime::is_valid_time("24:00:00"));
assert!(DateTime::is_valid_iso_8601("2024-01-15T10:30:00Z"));
assert!(DateTime::is_valid_iso_8601("2024-01-15"));
assert!(!DateTime::is_valid_iso_8601("2024-13-01"));
let s = "2024-01-15T10:30:00Z";
assert_eq!(
DateTime::is_valid_iso_8601(s),
DateTime::parse(s).is_ok()
);
println!("✅ All validators behaved as expected");
}