pub(crate) struct MockRng {
value: u64,
}
impl MockRng {
pub fn new(value: u64) -> Self {
Self { value }
}
}
impl rand::rand_core::TryRng for MockRng {
type Error = rand::rand_core::Infallible;
fn try_next_u32(&mut self) -> Result<u32, Self::Error> {
Ok(self.value as u32)
}
fn try_next_u64(&mut self) -> Result<u64, Self::Error> {
Ok(self.value)
}
fn try_fill_bytes(&mut self, dst: &mut [u8]) -> Result<(), Self::Error> {
rand::rand_core::utils::fill_bytes_via_next_word(dst, || self.try_next_u64())
}
}