use chrono::{Datelike, Local, Timelike};
fn main() {
let now = Local::now();
let current_date = now.date_naive();
let current_time = now.time();
let expected_date = format!("{:04}-{:02}-{:02}", current_date.year(), current_date.month(), current_date.day());
let expected_datetime = format!("{:04}-{:02}-{:02} {:02}:{:02}", current_date.year(), current_date.month(), current_date.day(), current_time.hour(), current_time.minute());
assert_eq!(smart_date_time::format("01-01","YYYY-MM-DD"), "2025-01-01");
assert_eq!(smart_date_time::format("1.2","YYYY-MM-DD"), "2025-01-02");
assert_eq!(smart_date_time::format("11.20","YYYY-MM-DD"), "2025-11-20");
assert_eq!(smart_date_time::format("2025.1.20","YYYY-MM-DD"), "2025-01-20");
assert_eq!(smart_date_time::format("2025/1/20","YYYY-MM-DD"), "2025-01-20");
assert_eq!(smart_date_time::format("2025年1月20","YYYY-MM-DD"), "2025-01-20");
assert_eq!(smart_date_time::format("2025年1月20日","YYYY-MM-DD"), "2025-01-20");
assert_eq!(smart_date_time::format("20号","YYYY-MM-DD"), "2025-10-20");
assert_eq!(smart_date_time::format("2025-1-20","YYYY-MM-DD"), "2025-01-20");
assert_eq!(smart_date_time::format("今天","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("现在","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("today","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("doday","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("now","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("hoy","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("ahora","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("aujourd'hui","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("maintenant","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("heute","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("jetzt","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("今日","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("今","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("오늘","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("지금","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("oggi","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("ora","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("hoje","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("agora","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("сегодня","YYYY-MM-DD"), expected_date);
assert_eq!(smart_date_time::format("сейчас","YYYY-MM-DD HH:mm"), expected_datetime);
assert_eq!(smart_date_time::format("13点","YYYY-MM-DD HH:mm"), format!("{:04}-{:02}-{:02} 13:00", current_date.year(), current_date.month(), current_date.day()));
assert_eq!(smart_date_time::format("13点半","YYYY-MM-DD HH:mm"), format!("{:04}-{:02}-{:02} 13:30", current_date.year(), current_date.month(), current_date.day()));
assert_eq!(smart_date_time::format("13:42","YYYY-MM-DD HH:mm"), format!("{:04}-{:02}-{:02} 13:42", current_date.year(), current_date.month(), current_date.day()));
assert_eq!(smart_date_time::format("13:42:52","YYYY-MM-DD HH:mm:ss"), format!("{:04}-{:02}-{:02} 13:42:52", current_date.year(), current_date.month(), current_date.day()));
println!("🎉 所有语言测试通过!");
println!("✅ 支持的语言:");
println!(" 🇨🇳 中文 (Chinese): 今天, 现在");
println!(" 🇺🇸 English: today, doday, now");
println!(" 🇪🇸 Español: hoy, ahora");
println!(" 🇫🇷 Français: aujourd'hui, maintenant");
println!(" 🇩🇪 Deutsch: heute, jetzt");
println!(" 🇯🇵 日本語: 今日, 今");
println!(" 🇰🇷 한국어: 오늘, 지금");
println!(" 🇮🇹 Italiano: oggi, ora");
println!(" 🇵🇹 Português: hoje, agora");
println!(" 🇷🇺 Русский: сегодня, сейчас");
}