nt_time/file_time/
rand.rs1use rand::{
8 Rng,
9 distr::{Distribution, StandardUniform},
10};
11
12use super::FileTime;
13
14impl Distribution<FileTime> for StandardUniform {
15 #[inline]
16 fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> FileTime {
17 FileTime::new(rng.random())
18 }
19}
20
21#[cfg(test)]
22mod tests {
23 use rand_pcg::{Pcg64Mcg, rand_core::SeedableRng};
24
25 use super::*;
26
27 #[test]
28 fn sample() {
29 let mut rng = Pcg64Mcg::from_seed(Default::default());
30 let buf: [FileTime; 8] = rng.random();
31 assert_eq!(
32 buf,
33 [
34 FileTime::new(0xe160_e532_6180_0aab),
35 FileTime::new(0x2a29_11d5_87fc_4ed5),
36 FileTime::new(0xdfe7_5554_bbd3_4d0d),
37 FileTime::new(0x2a4c_f66b_2879_6f51),
38 FileTime::new(0x500e_b6de_08bd_473b),
39 FileTime::new(0x8660_66c5_0dab_6374),
40 FileTime::new(0xe8e3_3086_f142_3eff),
41 FileTime::new(0x7d67_17b2_e579_844f)
42 ]
43 );
44 }
45}