#![cfg(any(test, doc))]
#![cfg_attr(feature = "unstable", doc(cfg(test)))]
use super::RollingHash;
#[test]
fn new_hash_with_prefix_zeroes_prerequisites() {
assert_eq!(RollingHash::WINDOW_SIZE, 7);
}
pub(crate) fn new_hash_with_prefix_zeroes(size: u64) -> RollingHash {
let mut hash = RollingHash::new();
hash.h1 = 0;
hash.h2 = 0;
hash.h3 = 0;
hash.index = (size % (RollingHash::WINDOW_SIZE as u64)) as u32;
hash
}
#[test]
fn new_hash_with_prefix_zeroes_state() {
let mut hash = RollingHash::new();
for size in 0..=(RollingHash::WINDOW_SIZE as u64) * 2 {
assert_eq!(
hash,
new_hash_with_prefix_zeroes(size),
"failed on size={}",
size
);
hash.update_by_byte(0);
}
}