fix(domain): improve Weekday tests and document all() ordering

This commit is contained in:
2026-03-17 14:18:13 +01:00
parent f8e8e85cb0
commit 5f1421f4bd

View File

@@ -168,6 +168,8 @@ impl From<chrono::Weekday> for Weekday {
impl Weekday { impl Weekday {
pub fn all() -> [Weekday; 7] { pub fn all() -> [Weekday; 7] {
// ISO week order: Monday = index 0, Sunday = index 6.
// The schedule engine depends on this order when iterating days.
[ [
Weekday::Monday, Weekday::Tuesday, Weekday::Wednesday, Weekday::Monday, Weekday::Tuesday, Weekday::Wednesday,
Weekday::Thursday, Weekday::Friday, Weekday::Saturday, Weekday::Sunday, Weekday::Thursday, Weekday::Friday, Weekday::Saturday, Weekday::Sunday,
@@ -180,13 +182,20 @@ mod weekday_tests {
use super::*; use super::*;
#[test] #[test]
fn from_chrono_weekday_roundtrip() { fn from_chrono_weekday_all_variants() {
assert_eq!(Weekday::from(chrono::Weekday::Mon), Weekday::Monday); assert_eq!(Weekday::from(chrono::Weekday::Mon), Weekday::Monday);
assert_eq!(Weekday::from(chrono::Weekday::Tue), Weekday::Tuesday);
assert_eq!(Weekday::from(chrono::Weekday::Wed), Weekday::Wednesday);
assert_eq!(Weekday::from(chrono::Weekday::Thu), Weekday::Thursday);
assert_eq!(Weekday::from(chrono::Weekday::Fri), Weekday::Friday);
assert_eq!(Weekday::from(chrono::Weekday::Sat), Weekday::Saturday);
assert_eq!(Weekday::from(chrono::Weekday::Sun), Weekday::Sunday); assert_eq!(Weekday::from(chrono::Weekday::Sun), Weekday::Sunday);
} }
#[test] #[test]
fn all_has_seven_days() { fn all_returns_monday_first_sunday_last() {
assert_eq!(Weekday::all().len(), 7); let days = Weekday::all();
assert_eq!(days[0], Weekday::Monday);
assert_eq!(days[6], Weekday::Sunday);
} }
} }