relay-knowledge 1.1.16

Graph-database-based knowledge graph project.
Documentation
use super::*;

#[test]
fn normalized_terms_split_mixed_identifiers_and_preserve_whole_tokens() {
    let terms = normalized_terms("GraphRAGContextPack retry_policy RESTClient W3Connector", 2);

    for term in [
        "graphragcontextpack",
        "graph",
        "rag",
        "context",
        "pack",
        "grcp",
        "retry_policy",
        "retry",
        "policy",
        "rest",
        "client",
        "w3connector",
        "connector",
        "w3c",
    ] {
        assert!(terms.contains(term), "missing term {term}");
    }
    assert!(!terms.contains("w"));
    assert!(!terms.contains("3"));
}

#[test]
fn normalized_terms_can_keep_single_character_terms_for_rerank() {
    let terms = normalized_terms("C API W3", 1);

    assert!(terms.contains("c"));
    assert!(terms.contains("api"));
    assert!(terms.contains("w"));
    assert!(terms.contains("3"));
}

#[test]
fn extend_normalized_terms_matches_owned_collection() {
    let mut extended = BTreeSet::from(["existing".to_owned()]);
    extend_normalized_terms("GraphRAGContextPack retry_policy", 2, &mut extended);

    let mut expected = normalized_terms("GraphRAGContextPack retry_policy", 2);
    expected.insert("existing".to_owned());

    assert_eq!(extended, expected);
}