Skip to content

Commit

Permalink
test: Update doctests
Browse files Browse the repository at this point in the history
  • Loading branch information
sorairolake committed Jan 24, 2025
1 parent 857ae6b commit a2364d1
Show file tree
Hide file tree
Showing 6 changed files with 128 additions and 170 deletions.
29 changes: 10 additions & 19 deletions src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,11 @@ impl DosDateTimeRangeError {
/// ```
/// # use nt_time::{error::DosDateTimeRangeErrorKind, FileTime};
/// #
/// assert_eq!(
/// FileTime::NT_TIME_EPOCH
/// .to_dos_date_time(None)
/// .unwrap_err()
/// .kind(),
/// DosDateTimeRangeErrorKind::Negative
/// );
/// assert_eq!(
/// FileTime::MAX.to_dos_date_time(None).unwrap_err().kind(),
/// DosDateTimeRangeErrorKind::Overflow
/// );
/// let err = FileTime::NT_TIME_EPOCH.to_dos_date_time(None).unwrap_err();
/// assert_eq!(err.kind(), DosDateTimeRangeErrorKind::Negative);
///
/// let err = FileTime::MAX.to_dos_date_time(None).unwrap_err();
/// assert_eq!(err.kind(), DosDateTimeRangeErrorKind::Overflow);
/// ```
#[must_use]
#[inline]
Expand Down Expand Up @@ -114,14 +108,11 @@ impl FileTimeRangeError {
/// ```
/// # use nt_time::{error::FileTimeRangeErrorKind, FileTime};
/// #
/// assert_eq!(
/// FileTime::from_unix_time_secs(i64::MIN).unwrap_err().kind(),
/// FileTimeRangeErrorKind::Negative
/// );
/// assert_eq!(
/// FileTime::from_unix_time_secs(i64::MAX).unwrap_err().kind(),
/// FileTimeRangeErrorKind::Overflow
/// );
/// let err = FileTime::from_unix_time_secs(i64::MIN).unwrap_err();
/// assert_eq!(err.kind(), FileTimeRangeErrorKind::Negative);
///
/// let err = FileTime::from_unix_time_secs(i64::MAX).unwrap_err();
/// assert_eq!(err.kind(), FileTimeRangeErrorKind::Overflow);
/// ```
#[must_use]
#[inline]
Expand Down
14 changes: 7 additions & 7 deletions src/file_time.rs
Original file line number Diff line number Diff line change
Expand Up @@ -424,18 +424,18 @@ impl FromStr for FileTime {
/// #
/// # use nt_time::FileTime;
/// #
/// assert_eq!(FileTime::from_str("0").unwrap(), FileTime::NT_TIME_EPOCH);
/// assert_eq!(FileTime::from_str("0"), Ok(FileTime::NT_TIME_EPOCH));
/// assert_eq!(
/// FileTime::from_str("116444736000000000").unwrap(),
/// FileTime::UNIX_EPOCH
/// FileTime::from_str("116444736000000000"),
/// Ok(FileTime::UNIX_EPOCH)
/// );
/// assert_eq!(
/// FileTime::from_str("+9223372036854775807").unwrap(),
/// FileTime::SIGNED_MAX
/// FileTime::from_str("+9223372036854775807"),
/// Ok(FileTime::SIGNED_MAX)
/// );
/// assert_eq!(
/// FileTime::from_str("+18446744073709551615").unwrap(),
/// FileTime::MAX
/// FileTime::from_str("+18446744073709551615"),
/// Ok(FileTime::MAX)
/// );
///
/// assert!(FileTime::from_str("").is_err());
Expand Down
60 changes: 30 additions & 30 deletions src/file_time/convert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ impl TryFrom<FileTime> for i64 {
/// ```
/// # use nt_time::FileTime;
/// #
/// assert_eq!(i64::try_from(FileTime::NT_TIME_EPOCH).unwrap(), 0);
/// assert_eq!(i64::try_from(FileTime::NT_TIME_EPOCH), Ok(0));
/// assert_eq!(
/// i64::try_from(FileTime::UNIX_EPOCH).unwrap(),
/// 116_444_736_000_000_000
/// i64::try_from(FileTime::UNIX_EPOCH),
/// Ok(116_444_736_000_000_000)
/// );
/// assert_eq!(i64::try_from(FileTime::SIGNED_MAX).unwrap(), i64::MAX);
/// assert_eq!(i64::try_from(FileTime::SIGNED_MAX), Ok(i64::MAX));
///
/// assert!(i64::try_from(FileTime::MAX).is_err());
/// ```
Expand Down Expand Up @@ -128,12 +128,12 @@ impl TryFrom<FileTime> for OffsetDateTime {
/// # };
/// #
/// assert_eq!(
/// OffsetDateTime::try_from(FileTime::NT_TIME_EPOCH).unwrap(),
/// datetime!(1601-01-01 00:00 UTC)
/// OffsetDateTime::try_from(FileTime::NT_TIME_EPOCH),
/// Ok(datetime!(1601-01-01 00:00 UTC))
/// );
/// assert_eq!(
/// OffsetDateTime::try_from(FileTime::UNIX_EPOCH).unwrap(),
/// OffsetDateTime::UNIX_EPOCH
/// OffsetDateTime::try_from(FileTime::UNIX_EPOCH),
/// Ok(OffsetDateTime::UNIX_EPOCH)
/// );
/// ```
///
Expand All @@ -160,16 +160,16 @@ impl TryFrom<FileTime> for OffsetDateTime {
/// # };
/// #
/// assert_eq!(
/// OffsetDateTime::try_from(FileTime::new(2_650_467_744_000_000_000)).unwrap(),
/// datetime!(+10000-01-01 00:00 UTC)
/// OffsetDateTime::try_from(FileTime::new(2_650_467_744_000_000_000)),
/// Ok(datetime!(+10000-01-01 00:00 UTC))
/// );
/// assert_eq!(
/// OffsetDateTime::try_from(FileTime::SIGNED_MAX).unwrap(),
/// datetime!(+30828-09-14 02:48:05.477_580_700 UTC)
/// OffsetDateTime::try_from(FileTime::SIGNED_MAX),
/// Ok(datetime!(+30828-09-14 02:48:05.477_580_700 UTC))
/// );
/// assert_eq!(
/// OffsetDateTime::try_from(FileTime::MAX).unwrap(),
/// datetime!(+60056-05-28 05:36:10.955_161_500 UTC)
/// OffsetDateTime::try_from(FileTime::MAX),
/// Ok(datetime!(+60056-05-28 05:36:10.955_161_500 UTC))
/// );
/// # }
/// ```
Expand Down Expand Up @@ -251,12 +251,12 @@ impl TryFrom<i64> for FileTime {
/// ```
/// # use nt_time::FileTime;
/// #
/// assert_eq!(FileTime::try_from(0_i64).unwrap(), FileTime::NT_TIME_EPOCH);
/// assert_eq!(FileTime::try_from(0_i64), Ok(FileTime::NT_TIME_EPOCH));
/// assert_eq!(
/// FileTime::try_from(116_444_736_000_000_000_i64).unwrap(),
/// FileTime::UNIX_EPOCH
/// FileTime::try_from(116_444_736_000_000_000_i64),
/// Ok(FileTime::UNIX_EPOCH)
/// );
/// assert_eq!(FileTime::try_from(i64::MAX).unwrap(), FileTime::SIGNED_MAX);
/// assert_eq!(FileTime::try_from(i64::MAX), Ok(FileTime::SIGNED_MAX));
///
/// assert!(FileTime::try_from(i64::MIN).is_err());
/// ```
Expand Down Expand Up @@ -290,12 +290,12 @@ impl TryFrom<std::time::SystemTime> for FileTime {
/// # use nt_time::FileTime;
/// #
/// assert_eq!(
/// FileTime::try_from(SystemTime::UNIX_EPOCH - Duration::from_secs(11_644_473_600)).unwrap(),
/// FileTime::NT_TIME_EPOCH
/// FileTime::try_from(SystemTime::UNIX_EPOCH - Duration::from_secs(11_644_473_600)),
/// Ok(FileTime::NT_TIME_EPOCH)
/// );
/// assert_eq!(
/// FileTime::try_from(SystemTime::UNIX_EPOCH).unwrap(),
/// FileTime::UNIX_EPOCH
/// FileTime::try_from(SystemTime::UNIX_EPOCH),
/// Ok(FileTime::UNIX_EPOCH)
/// );
///
/// // Before `1601-01-01 00:00:00 UTC`.
Expand Down Expand Up @@ -341,12 +341,12 @@ impl TryFrom<OffsetDateTime> for FileTime {
/// # };
/// #
/// assert_eq!(
/// FileTime::try_from(datetime!(1601-01-01 00:00 UTC)).unwrap(),
/// FileTime::NT_TIME_EPOCH
/// FileTime::try_from(datetime!(1601-01-01 00:00 UTC)),
/// Ok(FileTime::NT_TIME_EPOCH)
/// );
/// assert_eq!(
/// FileTime::try_from(OffsetDateTime::UNIX_EPOCH).unwrap(),
/// FileTime::UNIX_EPOCH
/// FileTime::try_from(OffsetDateTime::UNIX_EPOCH),
/// Ok(FileTime::UNIX_EPOCH)
/// );
///
/// // Before `1601-01-01 00:00:00 UTC`.
Expand Down Expand Up @@ -398,12 +398,12 @@ impl TryFrom<chrono::DateTime<chrono::Utc>> for FileTime {
/// # };
/// #
/// assert_eq!(
/// FileTime::try_from("1601-01-01 00:00:00 UTC".parse::<DateTime<Utc>>().unwrap()).unwrap(),
/// FileTime::NT_TIME_EPOCH
/// FileTime::try_from("1601-01-01 00:00:00 UTC".parse::<DateTime<Utc>>().unwrap()),
/// Ok(FileTime::NT_TIME_EPOCH)
/// );
/// assert_eq!(
/// FileTime::try_from(DateTime::<Utc>::UNIX_EPOCH).unwrap(),
/// FileTime::UNIX_EPOCH
/// FileTime::try_from(DateTime::<Utc>::UNIX_EPOCH),
/// Ok(FileTime::UNIX_EPOCH)
/// );
///
/// // Before `1601-01-01 00:00:00 UTC`.
Expand Down
77 changes: 30 additions & 47 deletions src/file_time/dos_date_time.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,17 +55,13 @@ impl FileTime {
/// #
/// // `1980-01-01 00:00:00 UTC`.
/// assert_eq!(
/// FileTime::new(119_600_064_000_000_000)
/// .to_dos_date_time(None)
/// .unwrap(),
/// (0x0021, u16::MIN, u8::MIN, None)
/// FileTime::new(119_600_064_000_000_000).to_dos_date_time(None),
/// Ok((0x0021, u16::MIN, u8::MIN, None))
/// );
/// // `2107-12-31 23:59:59 UTC`.
/// assert_eq!(
/// FileTime::new(159_992_927_990_000_000)
/// .to_dos_date_time(None)
/// .unwrap(),
/// (0xff9f, 0xbf7d, 100, None)
/// FileTime::new(159_992_927_990_000_000).to_dos_date_time(None),
/// Ok((0xff9f, 0xbf7d, 100, None))
/// );
///
/// // Before `1980-01-01 00:00:00 UTC`.
Expand All @@ -79,10 +75,8 @@ impl FileTime {
///
/// // From `2002-11-27 03:25:00 UTC` to `2002-11-26 19:25:00 -08:00`.
/// assert_eq!(
/// FileTime::new(126_828_411_000_000_000)
/// .to_dos_date_time(Some(offset!(-08:00)))
/// .unwrap(),
/// (0x2d7a, 0x9b20, u8::MIN, Some(offset!(-08:00)))
/// FileTime::new(126_828_411_000_000_000).to_dos_date_time(Some(offset!(-08:00))),
/// Ok((0x2d7a, 0x9b20, u8::MIN, Some(offset!(-08:00))))
/// );
/// ```
///
Expand All @@ -94,25 +88,19 @@ impl FileTime {
/// #
/// // `2002-11-27 03:25:00 UTC`.
/// assert_eq!(
/// FileTime::new(126_828_411_000_000_000)
/// .to_dos_date_time(Some(offset!(-08:01)))
/// .unwrap(),
/// (0x2d7b, 0x1b20, u8::MIN, None)
/// FileTime::new(126_828_411_000_000_000).to_dos_date_time(Some(offset!(-08:01))),
/// Ok((0x2d7b, 0x1b20, u8::MIN, None))
/// );
/// // `2002-11-27 03:25:00 UTC`.
/// assert_eq!(
/// FileTime::new(126_828_411_000_000_000)
/// .to_dos_date_time(Some(offset!(-08:14)))
/// .unwrap(),
/// (0x2d7b, 0x1b20, u8::MIN, None)
/// FileTime::new(126_828_411_000_000_000).to_dos_date_time(Some(offset!(-08:14))),
/// Ok((0x2d7b, 0x1b20, u8::MIN, None))
/// );
///
/// // From `2002-11-27 03:25:00 UTC` to `2002-11-26 19:10:00 -08:15`.
/// assert_eq!(
/// FileTime::new(126_828_411_000_000_000)
/// .to_dos_date_time(Some(offset!(-08:15)))
/// .unwrap(),
/// (0x2d7a, 0x9940, u8::MIN, Some(offset!(-08:15)))
/// FileTime::new(126_828_411_000_000_000).to_dos_date_time(Some(offset!(-08:15))),
/// Ok((0x2d7a, 0x9940, u8::MIN, Some(offset!(-08:15))))
/// );
/// ```
///
Expand Down Expand Up @@ -202,19 +190,19 @@ impl FileTime {
/// #
/// // `1980-01-01 00:00:00 UTC`.
/// assert_eq!(
/// FileTime::from_dos_date_time(0x0021, u16::MIN, None, None).unwrap(),
/// FileTime::new(119_600_064_000_000_000)
/// FileTime::from_dos_date_time(0x0021, u16::MIN, None, None),
/// Ok(FileTime::new(119_600_064_000_000_000))
/// );
/// // `2107-12-31 23:59:59 UTC`.
/// assert_eq!(
/// FileTime::from_dos_date_time(0xff9f, 0xbf7d, Some(100), None).unwrap(),
/// FileTime::new(159_992_927_990_000_000)
/// FileTime::from_dos_date_time(0xff9f, 0xbf7d, Some(100), None),
/// Ok(FileTime::new(159_992_927_990_000_000))
/// );
///
/// // From `2002-11-26 19:25:00 -08:00` to `2002-11-27 03:25:00 UTC`.
/// assert_eq!(
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:00))).unwrap(),
/// FileTime::new(126_828_411_000_000_000)
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:00))),
/// Ok(FileTime::new(126_828_411_000_000_000))
/// );
///
/// // The Day field is 0.
Expand All @@ -231,19 +219,19 @@ impl FileTime {
/// #
/// // From `2002-11-26 19:25:00 -08:01` to `2002-11-26 19:25:00 UTC`.
/// assert_eq!(
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:01))).unwrap(),
/// FileTime::new(126_828_123_000_000_000)
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:01))),
/// Ok(FileTime::new(126_828_123_000_000_000))
/// );
/// // From `2002-11-26 19:25:00 -08:14` to `2002-11-26 19:25:00 UTC`.
/// assert_eq!(
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:14))).unwrap(),
/// FileTime::new(126_828_123_000_000_000)
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:14))),
/// Ok(FileTime::new(126_828_123_000_000_000))
/// );
///
/// // From `2002-11-26 19:25:00 -08:15` to `2002-11-27 03:40:00 UTC`.
/// assert_eq!(
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:15))).unwrap(),
/// FileTime::new(126_828_420_000_000_000)
/// FileTime::from_dos_date_time(0x2d7a, 0x9b20, None, Some(offset!(-08:15))),
/// Ok(FileTime::new(126_828_420_000_000_000))
/// );
/// ```
///
Expand All @@ -252,7 +240,7 @@ impl FileTime {
/// ```should_panic
/// # use nt_time::FileTime;
/// #
/// let _ = FileTime::from_dos_date_time(0x0021, u16::MIN, Some(200), None).unwrap();
/// let _ = FileTime::from_dos_date_time(0x0021, u16::MIN, Some(200), None);
/// ```
///
/// [MS-DOS date and time]: https://learn.microsoft.com/en-us/windows/win32/sysinfo/ms-dos-date-and-time
Expand Down Expand Up @@ -571,18 +559,14 @@ mod tests {
#[should_panic]
fn to_dos_date_time_with_invalid_positive_offset() {
// From `1980-01-01 00:00:00 UTC` to `1980-01-01 16:00:00 +16:00`.
let _ = FileTime::new(119_600_064_000_000_000)
.to_dos_date_time(Some(offset!(+16:00)))
.unwrap();
let _ = FileTime::new(119_600_064_000_000_000).to_dos_date_time(Some(offset!(+16:00)));
}

#[test]
#[should_panic]
fn to_dos_date_time_with_invalid_negative_offset() {
// From `2107-12-31 23:59:58 UTC` to `2107-12-31 07:44:58 -16:15`.
let _ = FileTime::new(159_992_927_980_000_000)
.to_dos_date_time(Some(offset!(-16:15)))
.unwrap();
let _ = FileTime::new(159_992_927_980_000_000).to_dos_date_time(Some(offset!(-16:15)));
}

#[test]
Expand Down Expand Up @@ -745,21 +729,20 @@ mod tests {
#[test]
#[should_panic]
fn from_dos_date_time_with_invalid_resolution() {
let _ = FileTime::from_dos_date_time(0x0021, u16::MIN, Some(200), None).unwrap();
let _ = FileTime::from_dos_date_time(0x0021, u16::MIN, Some(200), None);
}

#[test]
#[should_panic]
fn from_dos_date_time_with_invalid_positive_offset() {
// From `2107-12-31 23:59:58 +16:00` to `2107-12-31 07:59:58 UTC`.
let _ = FileTime::from_dos_date_time(0xff9f, 0xbf7d, None, Some(offset!(+16:00))).unwrap();
let _ = FileTime::from_dos_date_time(0xff9f, 0xbf7d, None, Some(offset!(+16:00)));
}

#[test]
#[should_panic]
fn from_dos_date_time_with_invalid_negative_offset() {
// From `1980-01-01 00:00:00 -16:15` to `1980-01-01 16:15:00 UTC`.
let _ =
FileTime::from_dos_date_time(0x0021, u16::MIN, None, Some(offset!(-16:15))).unwrap();
let _ = FileTime::from_dos_date_time(0x0021, u16::MIN, None, Some(offset!(-16:15)));
}
}
Loading

0 comments on commit a2364d1

Please sign in to comment.