Skip to content

Commit 2c1b0be

Browse files
committed
Tests: replace TimeDelta::milliseconds with try_milliseconds
1 parent 2bf3302 commit 2c1b0be

File tree

6 files changed

+196
-139
lines changed

6 files changed

+196
-139
lines changed

src/datetime/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ fn test_nanosecond_range() {
301301
// Just beyond range
302302
let maximum = "2262-04-11T23:47:16.854775804UTC";
303303
let parsed: DateTime<Utc> = maximum.parse().unwrap();
304-
let beyond_max = parsed + TimeDelta::milliseconds(300);
304+
let beyond_max = parsed + TimeDelta::try_milliseconds(300).unwrap();
305305
assert!(beyond_max.timestamp_nanos_opt().is_none());
306306

307307
// Far beyond range

src/naive/datetime/mod.rs

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ impl NaiveDateTime {
490490
///
491491
/// let hmsm = |h, m, s, milli| d.and_hms_milli_opt(h, m, s, milli).unwrap();
492492
/// assert_eq!(
493-
/// hmsm(3, 5, 7, 980).checked_add_signed(TimeDelta::milliseconds(450)),
493+
/// hmsm(3, 5, 7, 980).checked_add_signed(TimeDelta::try_milliseconds(450).unwrap()),
494494
/// Some(hmsm(3, 5, 8, 430))
495495
/// );
496496
/// ```
@@ -513,11 +513,11 @@ impl NaiveDateTime {
513513
/// let leap = hmsm(3, 5, 59, 1_300);
514514
/// assert_eq!(leap.checked_add_signed(TimeDelta::zero()),
515515
/// Some(hmsm(3, 5, 59, 1_300)));
516-
/// assert_eq!(leap.checked_add_signed(TimeDelta::milliseconds(-500)),
516+
/// assert_eq!(leap.checked_add_signed(TimeDelta::try_milliseconds(-500).unwrap()),
517517
/// Some(hmsm(3, 5, 59, 800)));
518-
/// assert_eq!(leap.checked_add_signed(TimeDelta::milliseconds(500)),
518+
/// assert_eq!(leap.checked_add_signed(TimeDelta::try_milliseconds(500).unwrap()),
519519
/// Some(hmsm(3, 5, 59, 1_800)));
520-
/// assert_eq!(leap.checked_add_signed(TimeDelta::milliseconds(800)),
520+
/// assert_eq!(leap.checked_add_signed(TimeDelta::try_milliseconds(800).unwrap()),
521521
/// Some(hmsm(3, 6, 0, 100)));
522522
/// assert_eq!(leap.checked_add_signed(TimeDelta::try_seconds(10).unwrap()),
523523
/// Some(hmsm(3, 6, 9, 300)));
@@ -674,7 +674,7 @@ impl NaiveDateTime {
674674
///
675675
/// let hmsm = |h, m, s, milli| d.and_hms_milli_opt(h, m, s, milli).unwrap();
676676
/// assert_eq!(
677-
/// hmsm(3, 5, 7, 450).checked_sub_signed(TimeDelta::milliseconds(670)),
677+
/// hmsm(3, 5, 7, 450).checked_sub_signed(TimeDelta::try_milliseconds(670).unwrap()),
678678
/// Some(hmsm(3, 5, 6, 780))
679679
/// );
680680
/// ```
@@ -697,9 +697,9 @@ impl NaiveDateTime {
697697
/// let leap = hmsm(3, 5, 59, 1_300);
698698
/// assert_eq!(leap.checked_sub_signed(TimeDelta::zero()),
699699
/// Some(hmsm(3, 5, 59, 1_300)));
700-
/// assert_eq!(leap.checked_sub_signed(TimeDelta::milliseconds(200)),
700+
/// assert_eq!(leap.checked_sub_signed(TimeDelta::try_milliseconds(200).unwrap()),
701701
/// Some(hmsm(3, 5, 59, 1_100)));
702-
/// assert_eq!(leap.checked_sub_signed(TimeDelta::milliseconds(500)),
702+
/// assert_eq!(leap.checked_sub_signed(TimeDelta::try_milliseconds(500).unwrap()),
703703
/// Some(hmsm(3, 5, 59, 800)));
704704
/// assert_eq!(leap.checked_sub_signed(TimeDelta::try_seconds(60).unwrap()),
705705
/// Some(hmsm(3, 5, 0, 300)));
@@ -794,7 +794,8 @@ impl NaiveDateTime {
794794
/// d.and_hms_milli_opt(0, 7, 6, 500)
795795
/// .unwrap()
796796
/// .signed_duration_since(d0.and_hms_opt(0, 0, 0).unwrap()),
797-
/// TimeDelta::try_seconds(189 * 86_400 + 7 * 60 + 6).unwrap() + TimeDelta::milliseconds(500)
797+
/// TimeDelta::try_seconds(189 * 86_400 + 7 * 60 + 6).unwrap()
798+
/// + TimeDelta::try_milliseconds(500).unwrap()
798799
/// );
799800
/// ```
800801
///
@@ -807,11 +808,11 @@ impl NaiveDateTime {
807808
/// let leap = from_ymd(2015, 6, 30).and_hms_milli_opt(23, 59, 59, 1_500).unwrap();
808809
/// assert_eq!(
809810
/// leap.signed_duration_since(from_ymd(2015, 6, 30).and_hms_opt(23, 0, 0).unwrap()),
810-
/// TimeDelta::try_seconds(3600).unwrap() + TimeDelta::milliseconds(500)
811+
/// TimeDelta::try_seconds(3600).unwrap() + TimeDelta::try_milliseconds(500).unwrap()
811812
/// );
812813
/// assert_eq!(
813814
/// from_ymd(2015, 7, 1).and_hms_opt(1, 0, 0).unwrap().signed_duration_since(leap),
814-
/// TimeDelta::try_seconds(3600).unwrap() - TimeDelta::milliseconds(500)
815+
/// TimeDelta::try_seconds(3600).unwrap() - TimeDelta::try_milliseconds(500).unwrap()
815816
/// );
816817
/// ```
817818
#[must_use]
@@ -1609,7 +1610,7 @@ impl Timelike for NaiveDateTime {
16091610
/// );
16101611
///
16111612
/// let hmsm = |h, m, s, milli| d.and_hms_milli_opt(h, m, s, milli).unwrap();
1612-
/// assert_eq!(hmsm(3, 5, 7, 980) + TimeDelta::milliseconds(450), hmsm(3, 5, 8, 430));
1613+
/// assert_eq!(hmsm(3, 5, 7, 980) + TimeDelta::try_milliseconds(450).unwrap(), hmsm(3, 5, 8, 430));
16131614
/// ```
16141615
///
16151616
/// Leap seconds are handled,
@@ -1621,9 +1622,9 @@ impl Timelike for NaiveDateTime {
16211622
/// # let hmsm = |h, m, s, milli| from_ymd(2016, 7, 8).and_hms_milli_opt(h, m, s, milli).unwrap();
16221623
/// let leap = hmsm(3, 5, 59, 1_300);
16231624
/// assert_eq!(leap + TimeDelta::zero(), hmsm(3, 5, 59, 1_300));
1624-
/// assert_eq!(leap + TimeDelta::milliseconds(-500), hmsm(3, 5, 59, 800));
1625-
/// assert_eq!(leap + TimeDelta::milliseconds(500), hmsm(3, 5, 59, 1_800));
1626-
/// assert_eq!(leap + TimeDelta::milliseconds(800), hmsm(3, 6, 0, 100));
1625+
/// assert_eq!(leap + TimeDelta::try_milliseconds(-500).unwrap(), hmsm(3, 5, 59, 800));
1626+
/// assert_eq!(leap + TimeDelta::try_milliseconds(500).unwrap(), hmsm(3, 5, 59, 1_800));
1627+
/// assert_eq!(leap + TimeDelta::try_milliseconds(800).unwrap(), hmsm(3, 6, 0, 100));
16271628
/// assert_eq!(leap + TimeDelta::try_seconds(10).unwrap(), hmsm(3, 6, 9, 300));
16281629
/// assert_eq!(leap + TimeDelta::try_seconds(-10).unwrap(), hmsm(3, 5, 50, 300));
16291630
/// assert_eq!(leap + TimeDelta::try_days(1).unwrap(),
@@ -1799,7 +1800,7 @@ impl Add<Months> for NaiveDateTime {
17991800
/// );
18001801
///
18011802
/// let hmsm = |h, m, s, milli| d.and_hms_milli_opt(h, m, s, milli).unwrap();
1802-
/// assert_eq!(hmsm(3, 5, 7, 450) - TimeDelta::milliseconds(670), hmsm(3, 5, 6, 780));
1803+
/// assert_eq!(hmsm(3, 5, 7, 450) - TimeDelta::try_milliseconds(670).unwrap(), hmsm(3, 5, 6, 780));
18031804
/// ```
18041805
///
18051806
/// Leap seconds are handled,
@@ -1811,8 +1812,8 @@ impl Add<Months> for NaiveDateTime {
18111812
/// # let hmsm = |h, m, s, milli| from_ymd(2016, 7, 8).and_hms_milli_opt(h, m, s, milli).unwrap();
18121813
/// let leap = hmsm(3, 5, 59, 1_300);
18131814
/// assert_eq!(leap - TimeDelta::zero(), hmsm(3, 5, 59, 1_300));
1814-
/// assert_eq!(leap - TimeDelta::milliseconds(200), hmsm(3, 5, 59, 1_100));
1815-
/// assert_eq!(leap - TimeDelta::milliseconds(500), hmsm(3, 5, 59, 800));
1815+
/// assert_eq!(leap - TimeDelta::try_milliseconds(200).unwrap(), hmsm(3, 5, 59, 1_100));
1816+
/// assert_eq!(leap - TimeDelta::try_milliseconds(500).unwrap(), hmsm(3, 5, 59, 800));
18161817
/// assert_eq!(leap - TimeDelta::try_seconds(60).unwrap(), hmsm(3, 5, 0, 300));
18171818
/// assert_eq!(leap - TimeDelta::try_days(1).unwrap(),
18181819
/// from_ymd(2016, 7, 7).and_hms_milli_opt(3, 6, 0, 300).unwrap());
@@ -1967,7 +1968,8 @@ impl Sub<Months> for NaiveDateTime {
19671968
/// let d0 = from_ymd(2016, 1, 1);
19681969
/// assert_eq!(
19691970
/// d.and_hms_milli_opt(0, 7, 6, 500).unwrap() - d0.and_hms_opt(0, 0, 0).unwrap(),
1970-
/// TimeDelta::try_seconds(189 * 86_400 + 7 * 60 + 6).unwrap() + TimeDelta::milliseconds(500)
1971+
/// TimeDelta::try_seconds(189 * 86_400 + 7 * 60 + 6).unwrap()
1972+
/// + TimeDelta::try_milliseconds(500).unwrap()
19711973
/// );
19721974
/// ```
19731975
///
@@ -1980,11 +1982,11 @@ impl Sub<Months> for NaiveDateTime {
19801982
/// let leap = from_ymd(2015, 6, 30).and_hms_milli_opt(23, 59, 59, 1_500).unwrap();
19811983
/// assert_eq!(
19821984
/// leap - from_ymd(2015, 6, 30).and_hms_opt(23, 0, 0).unwrap(),
1983-
/// TimeDelta::try_seconds(3600).unwrap() + TimeDelta::milliseconds(500)
1985+
/// TimeDelta::try_seconds(3600).unwrap() + TimeDelta::try_milliseconds(500).unwrap()
19841986
/// );
19851987
/// assert_eq!(
19861988
/// from_ymd(2015, 7, 1).and_hms_opt(1, 0, 0).unwrap() - leap,
1987-
/// TimeDelta::try_seconds(3600).unwrap() - TimeDelta::milliseconds(500)
1989+
/// TimeDelta::try_seconds(3600).unwrap() - TimeDelta::try_milliseconds(500).unwrap()
19881990
/// );
19891991
/// ```
19901992
impl Sub<NaiveDateTime> for NaiveDateTime {

src/naive/time/mod.rs

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -696,11 +696,11 @@ impl NaiveTime {
696696
/// assert_eq!(since(from_hmsm(3, 5, 7, 900), from_hmsm(3, 5, 7, 900)), TimeDelta::zero());
697697
/// assert_eq!(
698698
/// since(from_hmsm(3, 5, 7, 900), from_hmsm(3, 5, 7, 875)),
699-
/// TimeDelta::milliseconds(25)
699+
/// TimeDelta::try_milliseconds(25).unwrap()
700700
/// );
701701
/// assert_eq!(
702702
/// since(from_hmsm(3, 5, 7, 900), from_hmsm(3, 5, 6, 925)),
703-
/// TimeDelta::milliseconds(975)
703+
/// TimeDelta::try_milliseconds(975).unwrap()
704704
/// );
705705
/// assert_eq!(
706706
/// since(from_hmsm(3, 5, 7, 900), from_hmsm(3, 5, 0, 900)),
@@ -720,7 +720,7 @@ impl NaiveTime {
720720
/// );
721721
/// assert_eq!(
722722
/// since(from_hmsm(3, 5, 7, 900), from_hmsm(2, 4, 6, 800)),
723-
/// TimeDelta::try_seconds(3600 + 60 + 1).unwrap() + TimeDelta::milliseconds(100)
723+
/// TimeDelta::try_seconds(3600 + 60 + 1).unwrap() + TimeDelta::try_milliseconds(100).unwrap()
724724
/// );
725725
/// ```
726726
///
@@ -734,7 +734,7 @@ impl NaiveTime {
734734
/// assert_eq!(since(from_hmsm(3, 0, 59, 1_000), from_hmsm(3, 0, 59, 0)),
735735
/// TimeDelta::try_seconds(1).unwrap());
736736
/// assert_eq!(since(from_hmsm(3, 0, 59, 1_500), from_hmsm(3, 0, 59, 0)),
737-
/// TimeDelta::milliseconds(1500));
737+
/// TimeDelta::try_milliseconds(1500).unwrap());
738738
/// assert_eq!(since(from_hmsm(3, 0, 59, 1_000), from_hmsm(3, 0, 0, 0)),
739739
/// TimeDelta::try_seconds(60).unwrap());
740740
/// assert_eq!(since(from_hmsm(3, 0, 0, 0), from_hmsm(2, 59, 59, 1_000)),
@@ -1166,9 +1166,18 @@ impl Timelike for NaiveTime {
11661166
/// from_hmsm(3, 5, 7, 0) + TimeDelta::try_seconds(7 * 60 * 60 - 6 * 60).unwrap(),
11671167
/// from_hmsm(9, 59, 7, 0)
11681168
/// );
1169-
/// assert_eq!(from_hmsm(3, 5, 7, 0) + TimeDelta::milliseconds(80), from_hmsm(3, 5, 7, 80));
1170-
/// assert_eq!(from_hmsm(3, 5, 7, 950) + TimeDelta::milliseconds(280), from_hmsm(3, 5, 8, 230));
1171-
/// assert_eq!(from_hmsm(3, 5, 7, 950) + TimeDelta::milliseconds(-980), from_hmsm(3, 5, 6, 970));
1169+
/// assert_eq!(
1170+
/// from_hmsm(3, 5, 7, 0) + TimeDelta::try_milliseconds(80).unwrap(),
1171+
/// from_hmsm(3, 5, 7, 80)
1172+
/// );
1173+
/// assert_eq!(
1174+
/// from_hmsm(3, 5, 7, 950) + TimeDelta::try_milliseconds(280).unwrap(),
1175+
/// from_hmsm(3, 5, 8, 230)
1176+
/// );
1177+
/// assert_eq!(
1178+
/// from_hmsm(3, 5, 7, 950) + TimeDelta::try_milliseconds(-980).unwrap(),
1179+
/// from_hmsm(3, 5, 6, 970)
1180+
/// );
11721181
/// ```
11731182
///
11741183
/// The addition wraps around.
@@ -1188,9 +1197,9 @@ impl Timelike for NaiveTime {
11881197
/// # let from_hmsm = |h, m, s, milli| { NaiveTime::from_hms_milli_opt(h, m, s, milli).unwrap() };
11891198
/// let leap = from_hmsm(3, 5, 59, 1_300);
11901199
/// assert_eq!(leap + TimeDelta::zero(), from_hmsm(3, 5, 59, 1_300));
1191-
/// assert_eq!(leap + TimeDelta::milliseconds(-500), from_hmsm(3, 5, 59, 800));
1192-
/// assert_eq!(leap + TimeDelta::milliseconds(500), from_hmsm(3, 5, 59, 1_800));
1193-
/// assert_eq!(leap + TimeDelta::milliseconds(800), from_hmsm(3, 6, 0, 100));
1200+
/// assert_eq!(leap + TimeDelta::try_milliseconds(-500).unwrap(), from_hmsm(3, 5, 59, 800));
1201+
/// assert_eq!(leap + TimeDelta::try_milliseconds(500).unwrap(), from_hmsm(3, 5, 59, 1_800));
1202+
/// assert_eq!(leap + TimeDelta::try_milliseconds(800).unwrap(), from_hmsm(3, 6, 0, 100));
11941203
/// assert_eq!(leap + TimeDelta::try_seconds(10).unwrap(), from_hmsm(3, 6, 9, 300));
11951204
/// assert_eq!(leap + TimeDelta::try_seconds(-10).unwrap(), from_hmsm(3, 5, 50, 300));
11961205
/// assert_eq!(leap + TimeDelta::try_days(1).unwrap(), from_hmsm(3, 5, 59, 300));
@@ -1286,8 +1295,14 @@ impl Add<FixedOffset> for NaiveTime {
12861295
/// from_hmsm(3, 5, 7, 0) - TimeDelta::try_seconds(2 * 60 * 60 + 6 * 60).unwrap(),
12871296
/// from_hmsm(0, 59, 7, 0)
12881297
/// );
1289-
/// assert_eq!(from_hmsm(3, 5, 7, 0) - TimeDelta::milliseconds(80), from_hmsm(3, 5, 6, 920));
1290-
/// assert_eq!(from_hmsm(3, 5, 7, 950) - TimeDelta::milliseconds(280), from_hmsm(3, 5, 7, 670));
1298+
/// assert_eq!(
1299+
/// from_hmsm(3, 5, 7, 0) - TimeDelta::try_milliseconds(80).unwrap(),
1300+
/// from_hmsm(3, 5, 6, 920)
1301+
/// );
1302+
/// assert_eq!(
1303+
/// from_hmsm(3, 5, 7, 950) - TimeDelta::try_milliseconds(280).unwrap(),
1304+
/// from_hmsm(3, 5, 7, 670)
1305+
/// );
12911306
/// ```
12921307
///
12931308
/// The subtraction wraps around.
@@ -1306,8 +1321,8 @@ impl Add<FixedOffset> for NaiveTime {
13061321
/// # let from_hmsm = |h, m, s, milli| { NaiveTime::from_hms_milli_opt(h, m, s, milli).unwrap() };
13071322
/// let leap = from_hmsm(3, 5, 59, 1_300);
13081323
/// assert_eq!(leap - TimeDelta::zero(), from_hmsm(3, 5, 59, 1_300));
1309-
/// assert_eq!(leap - TimeDelta::milliseconds(200), from_hmsm(3, 5, 59, 1_100));
1310-
/// assert_eq!(leap - TimeDelta::milliseconds(500), from_hmsm(3, 5, 59, 800));
1324+
/// assert_eq!(leap - TimeDelta::try_milliseconds(200).unwrap(), from_hmsm(3, 5, 59, 1_100));
1325+
/// assert_eq!(leap - TimeDelta::try_milliseconds(500).unwrap(), from_hmsm(3, 5, 59, 800));
13111326
/// assert_eq!(leap - TimeDelta::try_seconds(60).unwrap(), from_hmsm(3, 5, 0, 300));
13121327
/// assert_eq!(leap - TimeDelta::try_days(1).unwrap(), from_hmsm(3, 6, 0, 300));
13131328
/// ```
@@ -1396,8 +1411,14 @@ impl Sub<FixedOffset> for NaiveTime {
13961411
/// let from_hmsm = |h, m, s, milli| NaiveTime::from_hms_milli_opt(h, m, s, milli).unwrap();
13971412
///
13981413
/// assert_eq!(from_hmsm(3, 5, 7, 900) - from_hmsm(3, 5, 7, 900), TimeDelta::zero());
1399-
/// assert_eq!(from_hmsm(3, 5, 7, 900) - from_hmsm(3, 5, 7, 875), TimeDelta::milliseconds(25));
1400-
/// assert_eq!(from_hmsm(3, 5, 7, 900) - from_hmsm(3, 5, 6, 925), TimeDelta::milliseconds(975));
1414+
/// assert_eq!(
1415+
/// from_hmsm(3, 5, 7, 900) - from_hmsm(3, 5, 7, 875),
1416+
/// TimeDelta::try_milliseconds(25).unwrap()
1417+
/// );
1418+
/// assert_eq!(
1419+
/// from_hmsm(3, 5, 7, 900) - from_hmsm(3, 5, 6, 925),
1420+
/// TimeDelta::try_milliseconds(975).unwrap()
1421+
/// );
14011422
/// assert_eq!(
14021423
/// from_hmsm(3, 5, 7, 900) - from_hmsm(3, 5, 0, 900),
14031424
/// TimeDelta::try_seconds(7).unwrap()
@@ -1416,7 +1437,7 @@ impl Sub<FixedOffset> for NaiveTime {
14161437
/// );
14171438
/// assert_eq!(
14181439
/// from_hmsm(3, 5, 7, 900) - from_hmsm(2, 4, 6, 800),
1419-
/// TimeDelta::try_seconds(3600 + 60 + 1).unwrap() + TimeDelta::milliseconds(100)
1440+
/// TimeDelta::try_seconds(3600 + 60 + 1).unwrap() + TimeDelta::try_milliseconds(100).unwrap()
14201441
/// );
14211442
/// ```
14221443
///
@@ -1428,7 +1449,7 @@ impl Sub<FixedOffset> for NaiveTime {
14281449
/// # let from_hmsm = |h, m, s, milli| { NaiveTime::from_hms_milli_opt(h, m, s, milli).unwrap() };
14291450
/// assert_eq!(from_hmsm(3, 0, 59, 1_000) - from_hmsm(3, 0, 59, 0), TimeDelta::try_seconds(1).unwrap());
14301451
/// assert_eq!(from_hmsm(3, 0, 59, 1_500) - from_hmsm(3, 0, 59, 0),
1431-
/// TimeDelta::milliseconds(1500));
1452+
/// TimeDelta::try_milliseconds(1500).unwrap());
14321453
/// assert_eq!(from_hmsm(3, 0, 59, 1_000) - from_hmsm(3, 0, 0, 0), TimeDelta::try_seconds(60).unwrap());
14331454
/// assert_eq!(from_hmsm(3, 0, 0, 0) - from_hmsm(2, 59, 59, 1_000), TimeDelta::try_seconds(1).unwrap());
14341455
/// assert_eq!(from_hmsm(3, 0, 59, 1_000) - from_hmsm(2, 59, 59, 1_000),

src/naive/time/tests.rs

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -94,22 +94,26 @@ fn test_time_add() {
9494
let hmsm = |h, m, s, ms| NaiveTime::from_hms_milli_opt(h, m, s, ms).unwrap();
9595

9696
check!(hmsm(3, 5, 59, 900), TimeDelta::zero(), hmsm(3, 5, 59, 900));
97-
check!(hmsm(3, 5, 59, 900), TimeDelta::milliseconds(100), hmsm(3, 6, 0, 0));
98-
check!(hmsm(3, 5, 59, 1_300), TimeDelta::milliseconds(-1800), hmsm(3, 5, 58, 500));
99-
check!(hmsm(3, 5, 59, 1_300), TimeDelta::milliseconds(-800), hmsm(3, 5, 59, 500));
100-
check!(hmsm(3, 5, 59, 1_300), TimeDelta::milliseconds(-100), hmsm(3, 5, 59, 1_200));
101-
check!(hmsm(3, 5, 59, 1_300), TimeDelta::milliseconds(100), hmsm(3, 5, 59, 1_400));
102-
check!(hmsm(3, 5, 59, 1_300), TimeDelta::milliseconds(800), hmsm(3, 6, 0, 100));
103-
check!(hmsm(3, 5, 59, 1_300), TimeDelta::milliseconds(1800), hmsm(3, 6, 1, 100));
97+
check!(hmsm(3, 5, 59, 900), TimeDelta::try_milliseconds(100).unwrap(), hmsm(3, 6, 0, 0));
98+
check!(hmsm(3, 5, 59, 1_300), TimeDelta::try_milliseconds(-1800).unwrap(), hmsm(3, 5, 58, 500));
99+
check!(hmsm(3, 5, 59, 1_300), TimeDelta::try_milliseconds(-800).unwrap(), hmsm(3, 5, 59, 500));
100+
check!(
101+
hmsm(3, 5, 59, 1_300),
102+
TimeDelta::try_milliseconds(-100).unwrap(),
103+
hmsm(3, 5, 59, 1_200)
104+
);
105+
check!(hmsm(3, 5, 59, 1_300), TimeDelta::try_milliseconds(100).unwrap(), hmsm(3, 5, 59, 1_400));
106+
check!(hmsm(3, 5, 59, 1_300), TimeDelta::try_milliseconds(800).unwrap(), hmsm(3, 6, 0, 100));
107+
check!(hmsm(3, 5, 59, 1_300), TimeDelta::try_milliseconds(1800).unwrap(), hmsm(3, 6, 1, 100));
104108
check!(hmsm(3, 5, 59, 900), TimeDelta::try_seconds(86399).unwrap(), hmsm(3, 5, 58, 900)); // overwrap
105109
check!(hmsm(3, 5, 59, 900), TimeDelta::try_seconds(-86399).unwrap(), hmsm(3, 6, 0, 900));
106110
check!(hmsm(3, 5, 59, 900), TimeDelta::try_days(12345).unwrap(), hmsm(3, 5, 59, 900));
107111
check!(hmsm(3, 5, 59, 1_300), TimeDelta::try_days(1).unwrap(), hmsm(3, 5, 59, 300));
108112
check!(hmsm(3, 5, 59, 1_300), TimeDelta::try_days(-1).unwrap(), hmsm(3, 6, 0, 300));
109113

110114
// regression tests for #37
111-
check!(hmsm(0, 0, 0, 0), TimeDelta::milliseconds(-990), hmsm(23, 59, 59, 10));
112-
check!(hmsm(0, 0, 0, 0), TimeDelta::milliseconds(-9990), hmsm(23, 59, 50, 10));
115+
check!(hmsm(0, 0, 0, 0), TimeDelta::try_milliseconds(-990).unwrap(), hmsm(23, 59, 59, 10));
116+
check!(hmsm(0, 0, 0, 0), TimeDelta::try_milliseconds(-9990).unwrap(), hmsm(23, 59, 50, 10));
113117
}
114118

115119
#[test]
@@ -173,24 +177,24 @@ fn test_time_sub() {
173177
let hmsm = |h, m, s, ms| NaiveTime::from_hms_milli_opt(h, m, s, ms).unwrap();
174178

175179
check!(hmsm(3, 5, 7, 900), hmsm(3, 5, 7, 900), TimeDelta::zero());
176-
check!(hmsm(3, 5, 7, 900), hmsm(3, 5, 7, 600), TimeDelta::milliseconds(300));
180+
check!(hmsm(3, 5, 7, 900), hmsm(3, 5, 7, 600), TimeDelta::try_milliseconds(300).unwrap());
177181
check!(hmsm(3, 5, 7, 200), hmsm(2, 4, 6, 200), TimeDelta::try_seconds(3600 + 60 + 1).unwrap());
178182
check!(
179183
hmsm(3, 5, 7, 200),
180184
hmsm(2, 4, 6, 300),
181-
TimeDelta::try_seconds(3600 + 60).unwrap() + TimeDelta::milliseconds(900)
185+
TimeDelta::try_seconds(3600 + 60).unwrap() + TimeDelta::try_milliseconds(900).unwrap()
182186
);
183187

184188
// treats the leap second as if it coincides with the prior non-leap second,
185189
// as required by `time1 - time2 = duration` and `time2 - time1 = -duration` equivalence.
186-
check!(hmsm(3, 6, 0, 200), hmsm(3, 5, 59, 1_800), TimeDelta::milliseconds(400));
187-
//check!(hmsm(3, 5, 7, 1_200), hmsm(3, 5, 6, 1_800), TimeDelta::milliseconds(1400));
188-
//check!(hmsm(3, 5, 7, 1_200), hmsm(3, 5, 6, 800), TimeDelta::milliseconds(1400));
190+
check!(hmsm(3, 6, 0, 200), hmsm(3, 5, 59, 1_800), TimeDelta::try_milliseconds(400).unwrap());
191+
//check!(hmsm(3, 5, 7, 1_200), hmsm(3, 5, 6, 1_800), TimeDelta::try_milliseconds(1400).unwrap());
192+
//check!(hmsm(3, 5, 7, 1_200), hmsm(3, 5, 6, 800), TimeDelta::try_milliseconds(1400).unwrap());
189193

190194
// additional equality: `time1 + duration = time2` is equivalent to
191195
// `time2 - time1 = duration` IF AND ONLY IF `time2` represents a non-leap second.
192-
assert_eq!(hmsm(3, 5, 6, 800) + TimeDelta::milliseconds(400), hmsm(3, 5, 7, 200));
193-
//assert_eq!(hmsm(3, 5, 6, 1_800) + TimeDelta::milliseconds(400), hmsm(3, 5, 7, 200));
196+
assert_eq!(hmsm(3, 5, 6, 800) + TimeDelta::try_milliseconds(400).unwrap(), hmsm(3, 5, 7, 200));
197+
//assert_eq!(hmsm(3, 5, 6, 1_800) + TimeDelta::try_milliseconds(400).unwrap(), hmsm(3, 5, 7, 200));
194198
}
195199

196200
#[test]

0 commit comments

Comments
 (0)