use hfmn::HfmnCode;
#[test]
fn test_ab_coding() {
let data = "ab";
let coding = hfmn::CodeBook::from_data(data).unwrap();
let result = coding.encode_data(data).unwrap();
assert_eq!(
result,
vec![&HfmnCode::from(0b0, 1), &HfmnCode::from(0b1, 1),]
)
}
#[test]
fn test_aba_coding() {
let data = "aba";
let coding = hfmn::CodeBook::from_data(data).unwrap();
let result = coding.encode_data(data).unwrap();
assert_eq!(
result,
vec![
&HfmnCode::from(0b0, 1),
&HfmnCode::from(0b1, 1),
&HfmnCode::from(0b0, 1),
]
)
}
#[test]
fn test_abc_coding() {
let data = "abc";
let coding = hfmn::CodeBook::from_data(data).unwrap();
let result = coding.encode_data(data).unwrap();
assert_eq!(
result,
vec![
&HfmnCode::from(0b10, 2),
&HfmnCode::from(0b11, 2),
&HfmnCode::from(0b0, 1),
]
)
}
#[test]
fn test_abbccc_coding() {
let data = "abbccc";
let coding = hfmn::CodeBook::from_data(data).unwrap();
let result = coding.encode_data(data).unwrap();
assert_eq!(
result,
vec![
&HfmnCode::from(0b10, 2),
&HfmnCode::from(0b11, 2),
&HfmnCode::from(0b11, 2),
&HfmnCode::from(0b0, 1),
&HfmnCode::from(0b0, 1),
&HfmnCode::from(0b0, 1)
]
)
}