use spdr::{DecodeError, decode_timings};
const FIXTURE: &[u8] = include_bytes!("fixtures/teamgroup-ud5-6000_0104eef6.spd");
#[test]
fn decodes_base_timings_snapshot() {
let timings = decode_timings(FIXTURE).expect("the fixture has a full timing block");
insta::assert_debug_snapshot!(timings);
}
#[test]
fn implied_base_speed_is_ddr5_4800() {
let timings = decode_timings(FIXTURE).expect("the fixture has a full timing block");
assert_eq!(timings.base_data_rate_mt_s(), 4800);
}
#[test]
fn truncated_input_errors_without_panic() {
let truncated = &FIXTURE[..40];
let err = decode_timings(truncated).expect_err("truncated input must error");
assert!(
matches!(err, DecodeError::Truncated { .. }),
"expected a truncation error, got {err:?}"
);
}