Switch tests to timestamp_nanos_opt

This commit is contained in:
Paul Dicker 2023-09-08 22:00:04 +02:00 committed by Paul Dicker
parent 6302624c43
commit 94ad32a40d

View File

@ -386,7 +386,7 @@ fn test_nanosecond_range() {
const A_BILLION: i64 = 1_000_000_000; const A_BILLION: i64 = 1_000_000_000;
let maximum = "2262-04-11T23:47:16.854775804"; let maximum = "2262-04-11T23:47:16.854775804";
let parsed: NaiveDateTime = maximum.parse().unwrap(); let parsed: NaiveDateTime = maximum.parse().unwrap();
let nanos = parsed.timestamp_nanos(); let nanos = parsed.timestamp_nanos_opt().unwrap();
assert_eq!( assert_eq!(
parsed, parsed,
NaiveDateTime::from_timestamp_opt(nanos / A_BILLION, (nanos % A_BILLION) as u32).unwrap() NaiveDateTime::from_timestamp_opt(nanos / A_BILLION, (nanos % A_BILLION) as u32).unwrap()
@ -394,29 +394,23 @@ fn test_nanosecond_range() {
let minimum = "1677-09-21T00:12:44.000000000"; let minimum = "1677-09-21T00:12:44.000000000";
let parsed: NaiveDateTime = minimum.parse().unwrap(); let parsed: NaiveDateTime = minimum.parse().unwrap();
let nanos = parsed.timestamp_nanos(); let nanos = parsed.timestamp_nanos_opt().unwrap();
assert_eq!( assert_eq!(
parsed, parsed,
NaiveDateTime::from_timestamp_opt(nanos / A_BILLION, (nanos % A_BILLION) as u32).unwrap() NaiveDateTime::from_timestamp_opt(nanos / A_BILLION, (nanos % A_BILLION) as u32).unwrap()
); );
}
#[test] // Just beyond range
#[should_panic]
fn test_nanosecond_just_beyond_range() {
let maximum = "2262-04-11T23:47:16.854775804"; let maximum = "2262-04-11T23:47:16.854775804";
let parsed: NaiveDateTime = maximum.parse().unwrap(); let parsed: NaiveDateTime = maximum.parse().unwrap();
let beyond_max = parsed + OldDuration::milliseconds(300); let beyond_max = parsed + OldDuration::milliseconds(300);
let _ = beyond_max.timestamp_nanos(); assert!(beyond_max.timestamp_nanos_opt().is_none());
}
#[test] // Far beyond range
#[should_panic]
fn test_nanosecond_far_beyond_range() {
let maximum = "2262-04-11T23:47:16.854775804"; let maximum = "2262-04-11T23:47:16.854775804";
let parsed: NaiveDateTime = maximum.parse().unwrap(); let parsed: NaiveDateTime = maximum.parse().unwrap();
let beyond_max = parsed + OldDuration::days(365); let beyond_max = parsed + OldDuration::days(365);
let _ = beyond_max.timestamp_nanos(); assert!(beyond_max.timestamp_nanos_opt().is_none());
} }
#[test] #[test]