use amen::{layout::Layout, run_amen};
#[test]
fn single_alt_shorted() {
assert_eq!(run(&["Long Johnsson"], b""), Ok("Long Johnsson"));
}
#[test]
fn multi_alts() {
assert_eq!(run(&["foo", "pho"], b"p"), Ok("pho"));
assert_eq!(run(&["police", "potato"], b"t"), Ok("potato"));
assert_eq!(run(&["pan", "police", "potato"], b"a"), Ok("pan"));
}
#[test]
fn duplicates() {
assert_eq!(run(&["paper", "car", "car"], b"c"), Ok("car"));
}
fn run<'a>(phrases: &'a [&str], key_input: &[u8]) -> Result<&'a str, String> {
let layout = {
let term_size = (100, 100);
Layout::new(phrases, term_size)
};
run_amen(key_input, vec![], phrases, &layout).map_err(|e| e.to_string())
}