use reifydb_codec::tag::ValueKind;
#[test]
fn the_all_array_is_ordered_by_discriminant() {
for (index, kind) in ValueKind::ALL.iter().enumerate() {
assert_eq!(
kind.byte(),
index as u8,
"ValueKind::{kind:?} sits at ALL[{index}] but carries discriminant {}",
kind.byte()
);
}
}
#[test]
fn every_variant_survives_an_encode_decode_round_trip() {
for kind in ValueKind::ALL {
assert_eq!(ValueKind::from_byte(kind.byte()), Some(kind));
}
}
#[test]
fn a_byte_outside_the_table_does_not_decode() {
assert_eq!(ValueKind::from_byte(ValueKind::ALL.len() as u8), None);
assert_eq!(ValueKind::from_byte(u8::MAX), None);
}