use dvb_common::crc32_mpeg2::{compute, POLY, TABLE};
#[test]
fn poly_constant_is_expected() {
assert_eq!(POLY, 0x04C1_1DB7);
}
#[test]
fn table_entry_zero_is_zero() {
assert_eq!(TABLE[0], 0x0000_0000);
}
#[test]
fn empty_input_returns_init_value() {
assert_eq!(compute(&[]), 0xFFFF_FFFF);
}
#[test]
fn canonical_check_string_matches_rfc_value() {
assert_eq!(compute(b"123456789"), 0x0376_E6E7);
}
#[test]
fn single_zero_byte_matches_table_entry() {
let expected = 0xFFFF_FF00u32 ^ TABLE[0xFF];
assert_eq!(compute(&[0x00]), expected);
}