Skip to content

Commit 7985aa0

Browse files
authored
Merge pull request #112 from jfinkels/fix-add-months-tests
Make tests of adding months more resilient
2 parents 073b9f7 + 8dd8051 commit 7985aa0

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/parse_relative_time.rs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -319,25 +319,27 @@ mod tests {
319319

320320
#[test]
321321
fn test_months() {
322+
use crate::parse_relative_time::add_months;
323+
322324
let now = Utc::now();
323325
assert_eq!(
324326
parse_relative_time_at_date(now, "1 month").unwrap(),
325-
now.checked_add_months(Months::new(1)).unwrap()
327+
add_months(now, 1, false).unwrap(),
326328
);
327329
assert_eq!(
328330
parse_relative_time_at_date(now, "this month").unwrap(),
329331
now.checked_add_months(Months::new(0)).unwrap()
330332
);
331333
assert_eq!(
332334
parse_relative_time_at_date(now, "1 month and 2 weeks").unwrap(),
333-
now.checked_add_months(Months::new(1))
335+
add_months(now, 1, false)
334336
.unwrap()
335337
.checked_add_days(Days::new(14))
336338
.unwrap()
337339
);
338340
assert_eq!(
339341
parse_relative_time_at_date(now, "1 month and 2 weeks ago").unwrap(),
340-
now.checked_sub_months(Months::new(1))
342+
add_months(now, 1, true)
341343
.unwrap()
342344
.checked_sub_days(Days::new(14))
343345
.unwrap()
@@ -348,7 +350,7 @@ mod tests {
348350
);
349351
assert_eq!(
350352
parse_relative_time_at_date(now, "month").unwrap(),
351-
now.checked_add_months(Months::new(1)).unwrap()
353+
add_months(now, 1, false).unwrap(),
352354
);
353355
}
354356

@@ -562,6 +564,8 @@ mod tests {
562564

563565
#[test]
564566
fn test_duration_parsing() {
567+
use crate::parse_relative_time::add_months;
568+
565569
let now = Utc::now();
566570
assert_eq!(
567571
parse_relative_time_at_date(now, "1 year").unwrap(),
@@ -582,25 +586,25 @@ mod tests {
582586

583587
assert_eq!(
584588
parse_relative_time_at_date(now, "1 month").unwrap(),
585-
now.checked_add_months(Months::new(1)).unwrap()
589+
add_months(now, 1, false).unwrap(),
586590
);
587591
assert_eq!(
588592
parse_relative_time_at_date(now, "1 month and 2 weeks").unwrap(),
589-
now.checked_add_months(Months::new(1))
593+
add_months(now, 1, false)
590594
.unwrap()
591595
.checked_add_days(Days::new(14))
592596
.unwrap()
593597
);
594598
assert_eq!(
595599
parse_relative_time_at_date(now, "1 month, 2 weeks").unwrap(),
596-
now.checked_add_months(Months::new(1))
600+
add_months(now, 1, false)
597601
.unwrap()
598602
.checked_add_days(Days::new(14))
599603
.unwrap()
600604
);
601605
assert_eq!(
602606
parse_relative_time_at_date(now, "1 months 2 weeks").unwrap(),
603-
now.checked_add_months(Months::new(1))
607+
add_months(now, 1, false)
604608
.unwrap()
605609
.checked_add_days(Days::new(14))
606610
.unwrap()
@@ -618,7 +622,7 @@ mod tests {
618622
);
619623
assert_eq!(
620624
parse_relative_time_at_date(now, "month").unwrap(),
621-
now.checked_add_months(Months::new(1)).unwrap()
625+
add_months(now, 1, false).unwrap(),
622626
);
623627

624628
assert_eq!(

0 commit comments

Comments
 (0)