extern crate tfidf;
#[cfg(test)]
mod tests {
use tfidf::tfidf::TfIdf;
use tfidf::tfidf::Term;
fn setup<'a>() -> TfIdf<'a> {
let mut tfidf = TfIdf::new();
tfidf.add("hello hello hello world");
tfidf.add("soft kitty warm kitty");
tfidf.add("we have to find a leader for this world");
tfidf
}
#[test]
fn test_tf() {
let tfidf = setup();
assert_eq!(tfidf.tf(&Term("hello"), 0), 1.4771212f32);
assert_eq!(tfidf.tf(&Term("world"), 0), 1f32);
assert_eq!(tfidf.tf(&Term("nothing"), 0), 0f32);
assert_eq!(tfidf.tf(&Term("warm"), 0), 0f32);
}
#[test]
fn test_count() {
let tfidf = setup();
assert_eq!(tfidf.count(&Term("hello")), 1);
assert_eq!(tfidf.count(&Term("world")), 2);
assert_eq!(tfidf.count(&Term("kitty")), 1);
assert_eq!(tfidf.count(&Term("nothing")), 0);
}
#[test]
fn test_idf() {
let tfidf = setup();
assert_eq!(tfidf.idf(&Term("soft")), 0.47712126f32);
assert_eq!(tfidf.idf(&Term("hello")), 0.47712126f32);
assert_eq!(tfidf.idf(&Term("nothing")), 0f32);
}
#[test]
fn test_tfidf() {
let tfidf = setup();
assert_eq!(tfidf.tfidf(&Term("soft"), 0), 0f32);
assert_eq!(tfidf.tfidf(&Term("soft"), 1), 0.47712126f32);
assert_eq!(tfidf.tfidf(&Term("hello"), 0), 0.704766f32);
assert_eq!(tfidf.tfidf(&Term("nothing"), 1), 0f32);
}
}