improved the test

This commit is contained in:
Sander Hautvast 2022-05-10 17:21:26 +02:00
parent 0fb2b4bb42
commit ee38dd353c
2 changed files with 18 additions and 21 deletions

View file

@ -18,24 +18,19 @@ mod tests{
#[test] #[test]
fn test(){ fn test(){
let sentence = vec!["a","b", "c"]; let sentence = vec!["a","b", "c"];
let bigrams = padded_everygrams(sentence.iter(),2); let mut bigrams = padded_everygrams(sentence.iter(),2);
for b in bigrams.into_iter(){
for o in b{ let bigram1 = vec!["<s>"];
print!("{}, ",o); let bigram2 = vec!["<s>", "a"];
} let bigram3 = vec!["a"];
println!(); let bigram4 = vec!["a", "b"];
} let bigram5 = vec!["b"];
// let bigram1 = vec!["<s>"]; let bigram6 = vec!["b", "c"];
// let bigram2 = vec!["<s>", "a"]; let bigram7 = vec!["c"];
// let bigram3 = vec!["a"]; let bigram8 = vec!["c", "</s>"];
// let bigram4 = vec!["a", "b"]; let bigram9 = vec!["</s>"];
// let bigram5 = vec!["b"]; let expected = vec![bigram1.iter(), bigram2.iter(), bigram3.iter(), bigram4.iter(), bigram5.iter(), bigram6.iter(),bigram7.iter(),bigram8.iter(),bigram9.iter()];
// let bigram6 = vec!["b", "c"];
// let bigram7 = vec!["c"]; crate::test::should_be_equal_list_of_lists(&mut bigrams, expected)
// let bigram8 = vec!["c", "</s>"];
// let bigram9 = vec!["</s>"];
// let expected = vec![bigram1.iter(), bigram2.iter(), bigram3.iter(), bigram4.iter(), bigram5.iter(), bigram6.iter(),bigram7.iter(),bigram8.iter(),bigram9.iter()];
//
// crate::test::should_be_equal_list_of_lists(&mut bigrams, expected)
} }
} }

View file

@ -7,9 +7,11 @@ pub fn should_be_equal_lists<'a>(left: impl Iterator<Item=&'a &'a str>, right: V
} }
pub fn should_be_equal_list_of_lists<'a>(actual: &mut impl Iterator<Item=impl Iterator<Item=&'a &'a str>>, expected: Vec<Iter<&'a str>>) { pub fn should_be_equal_list_of_lists<'a>(actual: &mut impl Iterator<Item=impl Iterator<Item=&'a &'a str>>, expected: Vec<Iter<&'a str>>) {
for (actual_outer, expected_outer) in actual.zip(expected.into_iter()) { let mut actual_vec=Vec::new();
actual_vec.extend(actual);
assert_eq!(actual_vec.len(), expected.len());
for (actual_outer, expected_outer) in actual_vec.into_iter().zip(expected.into_iter()) {
for (actual_inner, expected_inner) in actual_outer.zip(expected_outer) { for (actual_inner, expected_inner) in actual_outer.zip(expected_outer) {
// println!("{} {}", actual_inner, expected_inner);
assert_eq!(actual_inner, expected_inner); assert_eq!(actual_inner, expected_inner);
} }
} }