fix(domain): improve Weekday tests and document all() ordering
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user