diff options
| author | Joe Carstairs <me@joeac.net> | 2024-12-04 23:00:05 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-12-05 08:32:53 +0000 |
| commit | d6492ede69d5dc001ef90f94528e1bf222c52c4a (patch) | |
| tree | 11528ca23bf7b8b30e8066a162a9d15cc0642a12 /rust/schist_models | |
| parent | a675c5f68b42f1cef7574287451f91ecbc1288fb (diff) | |
Tests first_day_in_month() methods
Diffstat (limited to 'rust/schist_models')
| -rw-r--r-- | rust/schist_models/src/date_utc.rs | 173 |
1 files changed, 166 insertions, 7 deletions
diff --git a/rust/schist_models/src/date_utc.rs b/rust/schist_models/src/date_utc.rs index d3a1d2e..2b36ec0 100644 --- a/rust/schist_models/src/date_utc.rs +++ b/rust/schist_models/src/date_utc.rs @@ -372,17 +372,176 @@ mod test { } #[test] - fn test_first_day_in_month() { - todo!(); + fn when_any_date_in_2024_then_first_day_in_month_is_correct() { + let jan_1_2024: DateUtc = "2024-01-01".parse().unwrap(); + for date in get_dates_in_jan_2024() { + assert_eq!(jan_1_2024, date.first_day_in_month()); + } + + let feb_1_2024: DateUtc = "2024-02-01".parse().unwrap(); + for date in get_dates_in_feb_2024() { + assert_eq!(feb_1_2024, date.first_day_in_month()); + } + + let mar_1_2024: DateUtc = "2024-03-01".parse().unwrap(); + for date in get_dates_in_mar_2024() { + assert_eq!(mar_1_2024, date.first_day_in_month()); + } + + let apr_1_2024: DateUtc = "2024-04-01".parse().unwrap(); + for date in get_dates_in_apr_2024() { + assert_eq!(apr_1_2024, date.first_day_in_month()); + } + + let may_1_2024: DateUtc = "2024-05-01".parse().unwrap(); + for date in get_dates_in_may_2024() { + assert_eq!(may_1_2024, date.first_day_in_month()); + } + + let jun_1_2024: DateUtc = "2024-06-01".parse().unwrap(); + for date in get_dates_in_jun_2024() { + assert_eq!(jun_1_2024, date.first_day_in_month()); + } + + let jul_1_2024: DateUtc = "2024-07-01".parse().unwrap(); + for date in get_dates_in_jul_2024() { + assert_eq!(jul_1_2024, date.first_day_in_month()); + } + + let aug_1_2024: DateUtc = "2024-08-01".parse().unwrap(); + for date in get_dates_in_aug_2024() { + assert_eq!(aug_1_2024, date.first_day_in_month()); + } + + let sep_1_2024: DateUtc = "2024-09-01".parse().unwrap(); + for date in get_dates_in_sep_2024() { + assert_eq!(sep_1_2024, date.first_day_in_month()); + } + + let oct_1_2024: DateUtc = "2024-10-01".parse().unwrap(); + for date in get_dates_in_oct_2024() { + assert_eq!(oct_1_2024, date.first_day_in_month()); + } + + let nov_1_2024: DateUtc = "2024-11-01".parse().unwrap(); + for date in get_dates_in_nov_2024() { + assert_eq!(nov_1_2024, date.first_day_in_month()); + } + + let dec_1_2024: DateUtc = "2024-12-01".parse().unwrap(); + for date in get_dates_in_dec_2024() { + assert_eq!(dec_1_2024, date.first_day_in_month()); + } } #[test] - fn test_first_day_in_next_month() { - todo!(); + fn when_any_date_in_2024_then_first_day_in_next_month_is_correct() { + let feb_1_2024: DateUtc = "2024-02-01".parse().unwrap(); + for date in get_dates_in_jan_2024() { + assert_eq!(feb_1_2024, date.first_day_in_next_month()); + } + + let mar_1_2024: DateUtc = "2024-03-01".parse().unwrap(); + for date in get_dates_in_feb_2024() { + assert_eq!(mar_1_2024, date.first_day_in_next_month()); + } + + let apr_1_2024: DateUtc = "2024-04-01".parse().unwrap(); + for date in get_dates_in_mar_2024() { + assert_eq!(apr_1_2024, date.first_day_in_next_month()); + } + + let may_1_2024: DateUtc = "2024-05-01".parse().unwrap(); + for date in get_dates_in_apr_2024() { + assert_eq!(may_1_2024, date.first_day_in_next_month()); + } + + let jun_1_2024: DateUtc = "2024-06-01".parse().unwrap(); + for date in get_dates_in_may_2024() { + assert_eq!(jun_1_2024, date.first_day_in_next_month()); + } + + let jul_1_2024: DateUtc = "2024-07-01".parse().unwrap(); + for date in get_dates_in_jun_2024() { + assert_eq!(jul_1_2024, date.first_day_in_next_month()); + } + + let aug_1_2024: DateUtc = "2024-08-01".parse().unwrap(); + for date in get_dates_in_jul_2024() { + assert_eq!(aug_1_2024, date.first_day_in_next_month()); + } + + let sep_1_2024: DateUtc = "2024-09-01".parse().unwrap(); + for date in get_dates_in_aug_2024() { + assert_eq!(sep_1_2024, date.first_day_in_next_month()); + } + + let oct_1_2024: DateUtc = "2024-10-01".parse().unwrap(); + for date in get_dates_in_sep_2024() { + assert_eq!(oct_1_2024, date.first_day_in_next_month()); + } + + let nov_1_2024: DateUtc = "2024-11-01".parse().unwrap(); + for date in get_dates_in_oct_2024() { + assert_eq!(nov_1_2024, date.first_day_in_next_month()); + } + + let dec_1_2024: DateUtc = "2024-12-01".parse().unwrap(); + for date in get_dates_in_nov_2024() { + assert_eq!(dec_1_2024, date.first_day_in_next_month()); + } + + let jan_1_2025: DateUtc = "2025-01-01".parse().unwrap(); + for date in get_dates_in_dec_2024() { + assert_eq!(jan_1_2025, date.first_day_in_next_month()); + } } - #[test] - fn test_days_in_month() { - todo!(); + fn get_dates_in_jan_2024() -> Vec<DateUtc> { + (1..31).map(|day| format!("2024-01-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_feb_2024() -> Vec<DateUtc> { + (1..29).map(|day| format!("2024-02-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_mar_2024() -> Vec<DateUtc> { + (1..31).map(|day| format!("2024-03-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_apr_2024() -> Vec<DateUtc> { + (1..30).map(|day| format!("2024-04-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_may_2024() -> Vec<DateUtc> { + (1..31).map(|day| format!("2024-05-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_jun_2024() -> Vec<DateUtc> { + (1..30).map(|day| format!("2024-06-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_jul_2024() -> Vec<DateUtc> { + (1..31).map(|day| format!("2024-07-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_aug_2024() -> Vec<DateUtc> { + (1..31).map(|day| format!("2024-08-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_sep_2024() -> Vec<DateUtc> { + (1..30).map(|day| format!("2024-09-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_oct_2024() -> Vec<DateUtc> { + (1..31).map(|day| format!("2024-10-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_nov_2024() -> Vec<DateUtc> { + (1..30).map(|day| format!("2024-11-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() + } + + fn get_dates_in_dec_2024() -> Vec<DateUtc> { + (1..31).map(|day| format!("2024-12-{:02}", day).parse::<DateUtc>().unwrap()).collect::<Vec<DateUtc>>() } } |
