Skip to content

Commit 2bf3302

Browse files
committed
Tests: replace TimeDelta::seconds with try_seconds
1 parent f93508f commit 2bf3302

File tree

9 files changed

+219
-163
lines changed

9 files changed

+219
-163
lines changed

src/datetime/tests.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -580,12 +580,12 @@ fn test_datetime_offset() {
580580
let dt = Utc.with_ymd_and_hms(2014, 5, 6, 7, 8, 9).unwrap();
581581
assert_eq!(dt, edt.with_ymd_and_hms(2014, 5, 6, 3, 8, 9).unwrap());
582582
assert_eq!(
583-
dt + TimeDelta::seconds(3600 + 60 + 1),
583+
dt + TimeDelta::try_seconds(3600 + 60 + 1).unwrap(),
584584
Utc.with_ymd_and_hms(2014, 5, 6, 8, 9, 10).unwrap()
585585
);
586586
assert_eq!(
587587
dt.signed_duration_since(edt.with_ymd_and_hms(2014, 5, 6, 10, 11, 12).unwrap()),
588-
TimeDelta::seconds(-7 * 3600 - 3 * 60 - 3)
588+
TimeDelta::try_seconds(-7 * 3600 - 3 * 60 - 3).unwrap()
589589
);
590590

591591
assert_eq!(*Utc.with_ymd_and_hms(2014, 5, 6, 7, 8, 9).unwrap().offset(), Utc);
@@ -1474,20 +1474,20 @@ fn test_datetime_add_assign() {
14741474
let datetime = naivedatetime.and_utc();
14751475
let mut datetime_add = datetime;
14761476

1477-
datetime_add += TimeDelta::seconds(60);
1478-
assert_eq!(datetime_add, datetime + TimeDelta::seconds(60));
1477+
datetime_add += TimeDelta::try_seconds(60).unwrap();
1478+
assert_eq!(datetime_add, datetime + TimeDelta::try_seconds(60).unwrap());
14791479

14801480
let timezone = FixedOffset::east_opt(60 * 60).unwrap();
14811481
let datetime = datetime.with_timezone(&timezone);
14821482
let datetime_add = datetime_add.with_timezone(&timezone);
14831483

1484-
assert_eq!(datetime_add, datetime + TimeDelta::seconds(60));
1484+
assert_eq!(datetime_add, datetime + TimeDelta::try_seconds(60).unwrap());
14851485

14861486
let timezone = FixedOffset::west_opt(2 * 60 * 60).unwrap();
14871487
let datetime = datetime.with_timezone(&timezone);
14881488
let datetime_add = datetime_add.with_timezone(&timezone);
14891489

1490-
assert_eq!(datetime_add, datetime + TimeDelta::seconds(60));
1490+
assert_eq!(datetime_add, datetime + TimeDelta::try_seconds(60).unwrap());
14911491
}
14921492

14931493
#[test]

src/lib.rs

+6-10
Original file line numberDiff line numberDiff line change
@@ -257,16 +257,12 @@
257257
//! // arithmetic operations
258258
//! let dt1 = Utc.with_ymd_and_hms(2014, 11, 14, 8, 9, 10).unwrap();
259259
//! let dt2 = Utc.with_ymd_and_hms(2014, 11, 14, 10, 9, 8).unwrap();
260-
//! assert_eq!(dt1.signed_duration_since(dt2), TimeDelta::seconds(-2 * 3600 + 2));
261-
//! assert_eq!(dt2.signed_duration_since(dt1), TimeDelta::seconds(2 * 3600 - 2));
262-
//! assert_eq!(
263-
//! Utc.with_ymd_and_hms(1970, 1, 1, 0, 0, 0).unwrap() + TimeDelta::seconds(1_000_000_000),
264-
//! Utc.with_ymd_and_hms(2001, 9, 9, 1, 46, 40).unwrap()
265-
//! );
266-
//! assert_eq!(
267-
//! Utc.with_ymd_and_hms(1970, 1, 1, 0, 0, 0).unwrap() - TimeDelta::seconds(1_000_000_000),
268-
//! Utc.with_ymd_and_hms(1938, 4, 24, 22, 13, 20).unwrap()
269-
//! );
260+
//! assert_eq!(dt1.signed_duration_since(dt2), TimeDelta::try_seconds(-2 * 3600 + 2).unwrap());
261+
//! assert_eq!(dt2.signed_duration_since(dt1), TimeDelta::try_seconds(2 * 3600 - 2).unwrap());
262+
//! assert_eq!(Utc.with_ymd_and_hms(1970, 1, 1, 0, 0, 0).unwrap() + TimeDelta::try_seconds(1_000_000_000).unwrap(),
263+
//! Utc.with_ymd_and_hms(2001, 9, 9, 1, 46, 40).unwrap());
264+
//! assert_eq!(Utc.with_ymd_and_hms(1970, 1, 1, 0, 0, 0).unwrap() - TimeDelta::try_seconds(1_000_000_000).unwrap(),
265+
//! Utc.with_ymd_and_hms(1938, 4, 24, 22, 13, 20).unwrap());
270266
//! ```
271267
//!
272268
//! ### Formatting and Parsing

src/naive/date/mod.rs

+10-4
Original file line numberDiff line numberDiff line change
@@ -1907,8 +1907,11 @@ impl Datelike for NaiveDate {
19071907
/// let from_ymd = |y, m, d| NaiveDate::from_ymd_opt(y, m, d).unwrap();
19081908
///
19091909
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::zero(), from_ymd(2014, 1, 1));
1910-
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::seconds(86399), from_ymd(2014, 1, 1));
1911-
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::seconds(-86399), from_ymd(2014, 1, 1));
1910+
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::try_seconds(86399).unwrap(), from_ymd(2014, 1, 1));
1911+
/// assert_eq!(
1912+
/// from_ymd(2014, 1, 1) + TimeDelta::try_seconds(-86399).unwrap(),
1913+
/// from_ymd(2014, 1, 1)
1914+
/// );
19121915
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::try_days(1).unwrap(), from_ymd(2014, 1, 2));
19131916
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::try_days(-1).unwrap(), from_ymd(2013, 12, 31));
19141917
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::try_days(364).unwrap(), from_ymd(2014, 12, 31));
@@ -2056,8 +2059,11 @@ impl Sub<Days> for NaiveDate {
20562059
/// let from_ymd = |y, m, d| NaiveDate::from_ymd_opt(y, m, d).unwrap();
20572060
///
20582061
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::zero(), from_ymd(2014, 1, 1));
2059-
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::seconds(86399), from_ymd(2014, 1, 1));
2060-
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::seconds(-86399), from_ymd(2014, 1, 1));
2062+
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::try_seconds(86399).unwrap(), from_ymd(2014, 1, 1));
2063+
/// assert_eq!(
2064+
/// from_ymd(2014, 1, 1) - TimeDelta::try_seconds(-86399).unwrap(),
2065+
/// from_ymd(2014, 1, 1)
2066+
/// );
20612067
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::try_days(1).unwrap(), from_ymd(2013, 12, 31));
20622068
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::try_days(-1).unwrap(), from_ymd(2014, 1, 2));
20632069
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::try_days(364).unwrap(), from_ymd(2013, 1, 2));

src/naive/date/tests.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -454,9 +454,9 @@ fn test_date_add() {
454454
}
455455

456456
check((2014, 1, 1), TimeDelta::zero(), Some((2014, 1, 1)));
457-
check((2014, 1, 1), TimeDelta::seconds(86399), Some((2014, 1, 1)));
457+
check((2014, 1, 1), TimeDelta::try_seconds(86399).unwrap(), Some((2014, 1, 1)));
458458
// always round towards zero
459-
check((2014, 1, 1), TimeDelta::seconds(-86399), Some((2014, 1, 1)));
459+
check((2014, 1, 1), TimeDelta::try_seconds(-86399).unwrap(), Some((2014, 1, 1)));
460460
check((2014, 1, 1), TimeDelta::try_days(1).unwrap(), Some((2014, 1, 2)));
461461
check((2014, 1, 1), TimeDelta::try_days(-1).unwrap(), Some((2013, 12, 31)));
462462
check((2014, 1, 1), TimeDelta::try_days(364).unwrap(), Some((2014, 12, 31)));

src/naive/datetime/mod.rs

+52-34
Original file line numberDiff line numberDiff line change
@@ -471,11 +471,20 @@ impl NaiveDateTime {
471471
/// let d = from_ymd(2016, 7, 8);
472472
/// let hms = |h, m, s| d.and_hms_opt(h, m, s).unwrap();
473473
/// assert_eq!(hms(3, 5, 7).checked_add_signed(TimeDelta::zero()), Some(hms(3, 5, 7)));
474-
/// assert_eq!(hms(3, 5, 7).checked_add_signed(TimeDelta::seconds(1)), Some(hms(3, 5, 8)));
475-
/// assert_eq!(hms(3, 5, 7).checked_add_signed(TimeDelta::seconds(-1)), Some(hms(3, 5, 6)));
476-
/// assert_eq!(hms(3, 5, 7).checked_add_signed(TimeDelta::seconds(3600 + 60)), Some(hms(4, 6, 7)));
477474
/// assert_eq!(
478-
/// hms(3, 5, 7).checked_add_signed(TimeDelta::seconds(86_400)),
475+
/// hms(3, 5, 7).checked_add_signed(TimeDelta::try_seconds(1).unwrap()),
476+
/// Some(hms(3, 5, 8))
477+
/// );
478+
/// assert_eq!(
479+
/// hms(3, 5, 7).checked_add_signed(TimeDelta::try_seconds(-1).unwrap()),
480+
/// Some(hms(3, 5, 6))
481+
/// );
482+
/// assert_eq!(
483+
/// hms(3, 5, 7).checked_add_signed(TimeDelta::try_seconds(3600 + 60).unwrap()),
484+
/// Some(hms(4, 6, 7))
485+
/// );
486+
/// assert_eq!(
487+
/// hms(3, 5, 7).checked_add_signed(TimeDelta::try_seconds(86_400).unwrap()),
479488
/// Some(from_ymd(2016, 7, 9).and_hms_opt(3, 5, 7).unwrap())
480489
/// );
481490
///
@@ -510,9 +519,9 @@ impl NaiveDateTime {
510519
/// Some(hmsm(3, 5, 59, 1_800)));
511520
/// assert_eq!(leap.checked_add_signed(TimeDelta::milliseconds(800)),
512521
/// Some(hmsm(3, 6, 0, 100)));
513-
/// assert_eq!(leap.checked_add_signed(TimeDelta::seconds(10)),
522+
/// assert_eq!(leap.checked_add_signed(TimeDelta::try_seconds(10).unwrap()),
514523
/// Some(hmsm(3, 6, 9, 300)));
515-
/// assert_eq!(leap.checked_add_signed(TimeDelta::seconds(-10)),
524+
/// assert_eq!(leap.checked_add_signed(TimeDelta::try_seconds(-10).unwrap()),
516525
/// Some(hmsm(3, 5, 50, 300)));
517526
/// assert_eq!(leap.checked_add_signed(TimeDelta::try_days(1).unwrap()),
518527
/// Some(from_ymd(2016, 7, 9).and_hms_milli_opt(3, 5, 59, 300).unwrap()));
@@ -646,11 +655,20 @@ impl NaiveDateTime {
646655
/// let d = from_ymd(2016, 7, 8);
647656
/// let hms = |h, m, s| d.and_hms_opt(h, m, s).unwrap();
648657
/// assert_eq!(hms(3, 5, 7).checked_sub_signed(TimeDelta::zero()), Some(hms(3, 5, 7)));
649-
/// assert_eq!(hms(3, 5, 7).checked_sub_signed(TimeDelta::seconds(1)), Some(hms(3, 5, 6)));
650-
/// assert_eq!(hms(3, 5, 7).checked_sub_signed(TimeDelta::seconds(-1)), Some(hms(3, 5, 8)));
651-
/// assert_eq!(hms(3, 5, 7).checked_sub_signed(TimeDelta::seconds(3600 + 60)), Some(hms(2, 4, 7)));
652658
/// assert_eq!(
653-
/// hms(3, 5, 7).checked_sub_signed(TimeDelta::seconds(86_400)),
659+
/// hms(3, 5, 7).checked_sub_signed(TimeDelta::try_seconds(1).unwrap()),
660+
/// Some(hms(3, 5, 6))
661+
/// );
662+
/// assert_eq!(
663+
/// hms(3, 5, 7).checked_sub_signed(TimeDelta::try_seconds(-1).unwrap()),
664+
/// Some(hms(3, 5, 8))
665+
/// );
666+
/// assert_eq!(
667+
/// hms(3, 5, 7).checked_sub_signed(TimeDelta::try_seconds(3600 + 60).unwrap()),
668+
/// Some(hms(2, 4, 7))
669+
/// );
670+
/// assert_eq!(
671+
/// hms(3, 5, 7).checked_sub_signed(TimeDelta::try_seconds(86_400).unwrap()),
654672
/// Some(from_ymd(2016, 7, 7).and_hms_opt(3, 5, 7).unwrap())
655673
/// );
656674
///
@@ -683,7 +701,7 @@ impl NaiveDateTime {
683701
/// Some(hmsm(3, 5, 59, 1_100)));
684702
/// assert_eq!(leap.checked_sub_signed(TimeDelta::milliseconds(500)),
685703
/// Some(hmsm(3, 5, 59, 800)));
686-
/// assert_eq!(leap.checked_sub_signed(TimeDelta::seconds(60)),
704+
/// assert_eq!(leap.checked_sub_signed(TimeDelta::try_seconds(60).unwrap()),
687705
/// Some(hmsm(3, 5, 0, 300)));
688706
/// assert_eq!(leap.checked_sub_signed(TimeDelta::try_days(1).unwrap()),
689707
/// Some(from_ymd(2016, 7, 7).and_hms_milli_opt(3, 6, 0, 300).unwrap()));
@@ -767,7 +785,7 @@ impl NaiveDateTime {
767785
/// let d = from_ymd(2016, 7, 8);
768786
/// assert_eq!(
769787
/// d.and_hms_opt(3, 5, 7).unwrap().signed_duration_since(d.and_hms_opt(2, 4, 6).unwrap()),
770-
/// TimeDelta::seconds(3600 + 60 + 1)
788+
/// TimeDelta::try_seconds(3600 + 60 + 1).unwrap()
771789
/// );
772790
///
773791
/// // July 8 is 190th day in the year 2016
@@ -776,7 +794,7 @@ impl NaiveDateTime {
776794
/// d.and_hms_milli_opt(0, 7, 6, 500)
777795
/// .unwrap()
778796
/// .signed_duration_since(d0.and_hms_opt(0, 0, 0).unwrap()),
779-
/// TimeDelta::seconds(189 * 86_400 + 7 * 60 + 6) + TimeDelta::milliseconds(500)
797+
/// TimeDelta::try_seconds(189 * 86_400 + 7 * 60 + 6).unwrap() + TimeDelta::milliseconds(500)
780798
/// );
781799
/// ```
782800
///
@@ -789,11 +807,11 @@ impl NaiveDateTime {
789807
/// let leap = from_ymd(2015, 6, 30).and_hms_milli_opt(23, 59, 59, 1_500).unwrap();
790808
/// assert_eq!(
791809
/// leap.signed_duration_since(from_ymd(2015, 6, 30).and_hms_opt(23, 0, 0).unwrap()),
792-
/// TimeDelta::seconds(3600) + TimeDelta::milliseconds(500)
810+
/// TimeDelta::try_seconds(3600).unwrap() + TimeDelta::milliseconds(500)
793811
/// );
794812
/// assert_eq!(
795813
/// from_ymd(2015, 7, 1).and_hms_opt(1, 0, 0).unwrap().signed_duration_since(leap),
796-
/// TimeDelta::seconds(3600) - TimeDelta::milliseconds(500)
814+
/// TimeDelta::try_seconds(3600).unwrap() - TimeDelta::milliseconds(500)
797815
/// );
798816
/// ```
799817
#[must_use]
@@ -1578,11 +1596,11 @@ impl Timelike for NaiveDateTime {
15781596
/// let d = from_ymd(2016, 7, 8);
15791597
/// let hms = |h, m, s| d.and_hms_opt(h, m, s).unwrap();
15801598
/// assert_eq!(hms(3, 5, 7) + TimeDelta::zero(), hms(3, 5, 7));
1581-
/// assert_eq!(hms(3, 5, 7) + TimeDelta::seconds(1), hms(3, 5, 8));
1582-
/// assert_eq!(hms(3, 5, 7) + TimeDelta::seconds(-1), hms(3, 5, 6));
1583-
/// assert_eq!(hms(3, 5, 7) + TimeDelta::seconds(3600 + 60), hms(4, 6, 7));
1599+
/// assert_eq!(hms(3, 5, 7) + TimeDelta::try_seconds(1).unwrap(), hms(3, 5, 8));
1600+
/// assert_eq!(hms(3, 5, 7) + TimeDelta::try_seconds(-1).unwrap(), hms(3, 5, 6));
1601+
/// assert_eq!(hms(3, 5, 7) + TimeDelta::try_seconds(3600 + 60).unwrap(), hms(4, 6, 7));
15841602
/// assert_eq!(
1585-
/// hms(3, 5, 7) + TimeDelta::seconds(86_400),
1603+
/// hms(3, 5, 7) + TimeDelta::try_seconds(86_400).unwrap(),
15861604
/// from_ymd(2016, 7, 9).and_hms_opt(3, 5, 7).unwrap()
15871605
/// );
15881606
/// assert_eq!(
@@ -1602,12 +1620,12 @@ impl Timelike for NaiveDateTime {
16021620
/// # let from_ymd = |y, m, d| NaiveDate::from_ymd_opt(y, m, d).unwrap();
16031621
/// # let hmsm = |h, m, s, milli| from_ymd(2016, 7, 8).and_hms_milli_opt(h, m, s, milli).unwrap();
16041622
/// let leap = hmsm(3, 5, 59, 1_300);
1605-
/// assert_eq!(leap + TimeDelta::zero(), hmsm(3, 5, 59, 1_300));
1623+
/// assert_eq!(leap + TimeDelta::zero(), hmsm(3, 5, 59, 1_300));
16061624
/// assert_eq!(leap + TimeDelta::milliseconds(-500), hmsm(3, 5, 59, 800));
1607-
/// assert_eq!(leap + TimeDelta::milliseconds(500), hmsm(3, 5, 59, 1_800));
1608-
/// assert_eq!(leap + TimeDelta::milliseconds(800), hmsm(3, 6, 0, 100));
1609-
/// assert_eq!(leap + TimeDelta::seconds(10), hmsm(3, 6, 9, 300));
1610-
/// assert_eq!(leap + TimeDelta::seconds(-10), hmsm(3, 5, 50, 300));
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));
1627+
/// assert_eq!(leap + TimeDelta::try_seconds(10).unwrap(), hmsm(3, 6, 9, 300));
1628+
/// assert_eq!(leap + TimeDelta::try_seconds(-10).unwrap(), hmsm(3, 5, 50, 300));
16111629
/// assert_eq!(leap + TimeDelta::try_days(1).unwrap(),
16121630
/// from_ymd(2016, 7, 9).and_hms_milli_opt(3, 5, 59, 300).unwrap());
16131631
/// ```
@@ -1768,11 +1786,11 @@ impl Add<Months> for NaiveDateTime {
17681786
/// let d = from_ymd(2016, 7, 8);
17691787
/// let hms = |h, m, s| d.and_hms_opt(h, m, s).unwrap();
17701788
/// assert_eq!(hms(3, 5, 7) - TimeDelta::zero(), hms(3, 5, 7));
1771-
/// assert_eq!(hms(3, 5, 7) - TimeDelta::seconds(1), hms(3, 5, 6));
1772-
/// assert_eq!(hms(3, 5, 7) - TimeDelta::seconds(-1), hms(3, 5, 8));
1773-
/// assert_eq!(hms(3, 5, 7) - TimeDelta::seconds(3600 + 60), hms(2, 4, 7));
1789+
/// assert_eq!(hms(3, 5, 7) - TimeDelta::try_seconds(1).unwrap(), hms(3, 5, 6));
1790+
/// assert_eq!(hms(3, 5, 7) - TimeDelta::try_seconds(-1).unwrap(), hms(3, 5, 8));
1791+
/// assert_eq!(hms(3, 5, 7) - TimeDelta::try_seconds(3600 + 60).unwrap(), hms(2, 4, 7));
17741792
/// assert_eq!(
1775-
/// hms(3, 5, 7) - TimeDelta::seconds(86_400),
1793+
/// hms(3, 5, 7) - TimeDelta::try_seconds(86_400).unwrap(),
17761794
/// from_ymd(2016, 7, 7).and_hms_opt(3, 5, 7).unwrap()
17771795
/// );
17781796
/// assert_eq!(
@@ -1792,10 +1810,10 @@ impl Add<Months> for NaiveDateTime {
17921810
/// # let from_ymd = |y, m, d| NaiveDate::from_ymd_opt(y, m, d).unwrap();
17931811
/// # let hmsm = |h, m, s, milli| from_ymd(2016, 7, 8).and_hms_milli_opt(h, m, s, milli).unwrap();
17941812
/// let leap = hmsm(3, 5, 59, 1_300);
1795-
/// assert_eq!(leap - TimeDelta::zero(), hmsm(3, 5, 59, 1_300));
1813+
/// assert_eq!(leap - TimeDelta::zero(), hmsm(3, 5, 59, 1_300));
17961814
/// assert_eq!(leap - TimeDelta::milliseconds(200), hmsm(3, 5, 59, 1_100));
17971815
/// assert_eq!(leap - TimeDelta::milliseconds(500), hmsm(3, 5, 59, 800));
1798-
/// assert_eq!(leap - TimeDelta::seconds(60), hmsm(3, 5, 0, 300));
1816+
/// assert_eq!(leap - TimeDelta::try_seconds(60).unwrap(), hmsm(3, 5, 0, 300));
17991817
/// assert_eq!(leap - TimeDelta::try_days(1).unwrap(),
18001818
/// from_ymd(2016, 7, 7).and_hms_milli_opt(3, 6, 0, 300).unwrap());
18011819
/// ```
@@ -1942,14 +1960,14 @@ impl Sub<Months> for NaiveDateTime {
19421960
/// let d = from_ymd(2016, 7, 8);
19431961
/// assert_eq!(
19441962
/// d.and_hms_opt(3, 5, 7).unwrap() - d.and_hms_opt(2, 4, 6).unwrap(),
1945-
/// TimeDelta::seconds(3600 + 60 + 1)
1963+
/// TimeDelta::try_seconds(3600 + 60 + 1).unwrap()
19461964
/// );
19471965
///
19481966
/// // July 8 is 190th day in the year 2016
19491967
/// let d0 = from_ymd(2016, 1, 1);
19501968
/// assert_eq!(
19511969
/// d.and_hms_milli_opt(0, 7, 6, 500).unwrap() - d0.and_hms_opt(0, 0, 0).unwrap(),
1952-
/// TimeDelta::seconds(189 * 86_400 + 7 * 60 + 6) + TimeDelta::milliseconds(500)
1970+
/// TimeDelta::try_seconds(189 * 86_400 + 7 * 60 + 6).unwrap() + TimeDelta::milliseconds(500)
19531971
/// );
19541972
/// ```
19551973
///
@@ -1962,11 +1980,11 @@ impl Sub<Months> for NaiveDateTime {
19621980
/// let leap = from_ymd(2015, 6, 30).and_hms_milli_opt(23, 59, 59, 1_500).unwrap();
19631981
/// assert_eq!(
19641982
/// leap - from_ymd(2015, 6, 30).and_hms_opt(23, 0, 0).unwrap(),
1965-
/// TimeDelta::seconds(3600) + TimeDelta::milliseconds(500)
1983+
/// TimeDelta::try_seconds(3600).unwrap() + TimeDelta::milliseconds(500)
19661984
/// );
19671985
/// assert_eq!(
19681986
/// from_ymd(2015, 7, 1).and_hms_opt(1, 0, 0).unwrap() - leap,
1969-
/// TimeDelta::seconds(3600) - TimeDelta::milliseconds(500)
1987+
/// TimeDelta::try_seconds(3600).unwrap() - TimeDelta::milliseconds(500)
19701988
/// );
19711989
/// ```
19721990
impl Sub<NaiveDateTime> for NaiveDateTime {

src/naive/datetime/tests.rs

+14-13
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@ fn test_datetime_add() {
1515
assert_eq!(lhs.checked_add_signed(rhs), sum);
1616
assert_eq!(lhs.checked_sub_signed(-rhs), sum);
1717
}
18+
let seconds = |s| TimeDelta::try_seconds(s).unwrap();
1819

19-
check((2014, 5, 6, 7, 8, 9), TimeDelta::seconds(3600 + 60 + 1), Some((2014, 5, 6, 8, 9, 10)));
20-
check((2014, 5, 6, 7, 8, 9), TimeDelta::seconds(-(3600 + 60 + 1)), Some((2014, 5, 6, 6, 7, 8)));
21-
check((2014, 5, 6, 7, 8, 9), TimeDelta::seconds(86399), Some((2014, 5, 7, 7, 8, 8)));
22-
check((2014, 5, 6, 7, 8, 9), TimeDelta::seconds(86_400 * 10), Some((2014, 5, 16, 7, 8, 9)));
23-
check((2014, 5, 6, 7, 8, 9), TimeDelta::seconds(-86_400 * 10), Some((2014, 4, 26, 7, 8, 9)));
24-
check((2014, 5, 6, 7, 8, 9), TimeDelta::seconds(86_400 * 10), Some((2014, 5, 16, 7, 8, 9)));
20+
check((2014, 5, 6, 7, 8, 9), seconds(3600 + 60 + 1), Some((2014, 5, 6, 8, 9, 10)));
21+
check((2014, 5, 6, 7, 8, 9), seconds(-(3600 + 60 + 1)), Some((2014, 5, 6, 6, 7, 8)));
22+
check((2014, 5, 6, 7, 8, 9), seconds(86399), Some((2014, 5, 7, 7, 8, 8)));
23+
check((2014, 5, 6, 7, 8, 9), seconds(86_400 * 10), Some((2014, 5, 16, 7, 8, 9)));
24+
check((2014, 5, 6, 7, 8, 9), seconds(-86_400 * 10), Some((2014, 4, 26, 7, 8, 9)));
25+
check((2014, 5, 6, 7, 8, 9), seconds(86_400 * 10), Some((2014, 5, 16, 7, 8, 9)));
2526

2627
// overflow check
2728
// assumes that we have correct values for MAX/MIN_DAYS_FROM_YEAR_0 from `naive::date`.
@@ -31,16 +32,16 @@ fn test_datetime_add() {
3132
check((0, 1, 1, 0, 0, 0), max_days_from_year_0, Some((NaiveDate::MAX.year(), 12, 31, 0, 0, 0)));
3233
check(
3334
(0, 1, 1, 0, 0, 0),
34-
max_days_from_year_0 + TimeDelta::seconds(86399),
35+
max_days_from_year_0 + seconds(86399),
3536
Some((NaiveDate::MAX.year(), 12, 31, 23, 59, 59)),
3637
);
37-
check((0, 1, 1, 0, 0, 0), max_days_from_year_0 + TimeDelta::seconds(86_400), None);
38+
check((0, 1, 1, 0, 0, 0), max_days_from_year_0 + seconds(86_400), None);
3839
check((0, 1, 1, 0, 0, 0), TimeDelta::max_value(), None);
3940

4041
let min_days_from_year_0 =
4142
NaiveDate::MIN.signed_duration_since(NaiveDate::from_ymd_opt(0, 1, 1).unwrap());
4243
check((0, 1, 1, 0, 0, 0), min_days_from_year_0, Some((NaiveDate::MIN.year(), 1, 1, 0, 0, 0)));
43-
check((0, 1, 1, 0, 0, 0), min_days_from_year_0 - TimeDelta::seconds(1), None);
44+
check((0, 1, 1, 0, 0, 0), min_days_from_year_0 - seconds(1), None);
4445
check((0, 1, 1, 0, 0, 0), TimeDelta::min_value(), None);
4546
}
4647

@@ -52,19 +53,19 @@ fn test_datetime_sub() {
5253
assert_eq!(since(ymdhms(2014, 5, 6, 7, 8, 9), ymdhms(2014, 5, 6, 7, 8, 9)), TimeDelta::zero());
5354
assert_eq!(
5455
since(ymdhms(2014, 5, 6, 7, 8, 10), ymdhms(2014, 5, 6, 7, 8, 9)),
55-
TimeDelta::seconds(1)
56+
TimeDelta::try_seconds(1).unwrap()
5657
);
5758
assert_eq!(
5859
since(ymdhms(2014, 5, 6, 7, 8, 9), ymdhms(2014, 5, 6, 7, 8, 10)),
59-
TimeDelta::seconds(-1)
60+
TimeDelta::try_seconds(-1).unwrap()
6061
);
6162
assert_eq!(
6263
since(ymdhms(2014, 5, 7, 7, 8, 9), ymdhms(2014, 5, 6, 7, 8, 10)),
63-
TimeDelta::seconds(86399)
64+
TimeDelta::try_seconds(86399).unwrap()
6465
);
6566
assert_eq!(
6667
since(ymdhms(2001, 9, 9, 1, 46, 39), ymdhms(1970, 1, 1, 0, 0, 0)),
67-
TimeDelta::seconds(999_999_999)
68+
TimeDelta::try_seconds(999_999_999).unwrap()
6869
);
6970
}
7071

0 commit comments

Comments
 (0)