utcnow/feat_quickcheck.rs
1use quickcheck::{Arbitrary, Gen};
2
3use crate::UtcTime;
4
5impl Arbitrary for UtcTime {
6 fn arbitrary(gen: &mut Gen) -> Self {
7 let (secs, nanos) = <(i64, u32)>::arbitrary(gen);
8 let nanos = nanos % 1_000_000_000;
9 unsafe { UtcTime::new_unchecked(secs, nanos) }
10 }
11}
12
13#[cfg(all(test, not(miri)))]
14#[quickcheck_macros::quickcheck]
15fn minimal_test(value: UtcTime) {
16 assert!(value.nanos.get() < 1_000_000_000);
17}