#![cfg(test)]
use super::naive;
#[cfg(feature = "opt-dist-length-table")]
use super::LengthDistanceTableType;
#[test]
fn arithmetic_correctness_naive() {
assert!(0x80u32.checked_mul(length_mult!()).is_some());
}
#[cfg(feature = "opt-dist-length-table")]
#[test]
fn table_consistency()
where
LengthDistanceTableType: From<u8>,
u32: From<LengthDistanceTableType>,
{
let dist = LengthDistanceTableType::from(0x80u8);
assert!(dist.checked_mul(length_mult!()).is_some());
}
#[test]
fn equivalence_optimized_impl() {
for lvalue2 in u8::MIN..=u8::MAX {
for lvalue1 in u8::MIN..=u8::MAX {
assert_eq!(
super::distance(lvalue1, lvalue2),
naive::distance(lvalue1, lvalue2)
);
}
}
}