rake 0.3.6

Rust implementation of Rapid Automatic Keyword Extraction (RAKE) algorithm
Documentation
use rake::{KeywordScore, KeywordSort};

#[test]
fn test_sort() {
    let mut keywords = vec![
        KeywordScore {
            keyword: "k1".to_string(),
            score: 0.3,
        },
        KeywordScore {
            keyword: "k2".to_string(),
            score: 0.7,
        },
        KeywordScore {
            keyword: "k3".to_string(),
            score: 0.4,
        },
        KeywordScore {
            keyword: "k4".to_string(),
            score: 0.5,
        },
    ];

    keywords.sort();

    assert_eq!(keywords[0].keyword, "k1");
    assert_eq!(keywords[1].keyword, "k3");
    assert_eq!(keywords[2].keyword, "k4");
    assert_eq!(keywords[3].keyword, "k2");

    keywords.sort_by_score();

    assert_eq!(keywords[0].keyword, "k2");
    assert_eq!(keywords[1].keyword, "k4");
    assert_eq!(keywords[2].keyword, "k3");
    assert_eq!(keywords[3].keyword, "k1");
}

#[test]
fn test_cmp() {
    let k1 = KeywordScore {
        keyword: "k1".to_string(),
        score: 0.3,
    };

    let k2 = KeywordScore {
        keyword: "k2".to_string(),
        score: 0.5,
    };

    let k3 = KeywordScore {
        keyword: "k3".to_string(),
        score: 0.3,
    };

    assert!(k3 == k1);
    assert!(k2 > k1);
    assert!(k3 < k2);
    assert!(k3 != k2);
}