use tongrams::EliasFanoTrieCountLm;
fn main() {
let filenames = vec![
"../test_data/1-grams.sorted.gz",
"../test_data/2-grams.sorted.gz",
"../test_data/3-grams.sorted.gz",
];
let lm = EliasFanoTrieCountLm::from_gz_files(&filenames).unwrap();
let mut lookuper = lm.lookuper();
assert_eq!(lookuper.with_str("vector"), Some(182));
assert_eq!(lookuper.with_str("in order"), Some(47));
assert_eq!(lookuper.with_str("the same memory"), Some(8));
assert_eq!(lookuper.with_str("vector is array"), None);
assert_eq!(lookuper.with_tokens(&["vector"]), Some(182));
assert_eq!(lookuper.with_tokens(&["in", "order"]), Some(47));
assert_eq!(lookuper.with_tokens(&["the", "same", "memory"]), Some(8));
assert_eq!(lookuper.with_tokens(&["vector", "is", "array"]), None);
let mut data = vec![];
lm.serialize_into(&mut data).unwrap();
let other = EliasFanoTrieCountLm::deserialize_from(&data[..]).unwrap();
assert_eq!(lm.num_orders(), other.num_orders());
assert_eq!(lm.num_grams(), other.num_grams());
}