tokitai-operator 0.1.0

Verified DL kernel compiler: formally-checked GEMM, p-adic, sheaf, contract-carrying ops. Paper-artifact grade.
Documentation
use std::collections::BTreeMap;
use tokitai_operator::object::sheaf::{OpenId, SectionTable};

fn open(id: &str) -> OpenId {
    OpenId(id.to_string())
}

#[test]
fn new_table_is_empty() {
    let t: SectionTable<i64> = SectionTable::new();
    assert_eq!(t.len(), 0);
    assert!(t.is_empty());
}

#[test]
fn len_grows_with_inserts() {
    let mut t: SectionTable<i64> = SectionTable::new();
    t.insert(open("u0"), 1);
    assert_eq!(t.len(), 1);
    assert!(!t.is_empty());
    t.insert(open("u1"), 2);
    assert_eq!(t.len(), 2);
    t.insert(open("u01"), 3);
    assert_eq!(t.len(), 3);
}

#[test]
fn inserting_same_open_twice_does_not_grow() {
    let mut t: SectionTable<i64> = SectionTable::new();
    t.insert(open("u0"), 1);
    t.insert(open("u0"), 99);
    assert_eq!(t.len(), 1);
    // The latest value wins.
    assert_eq!(t.get(&open("u0")).copied(), Some(99));
}

#[test]
fn contains_agrees_with_get() {
    let mut t: SectionTable<i64> = SectionTable::new();
    t.insert(open("u0"), 1);
    t.insert(open("u1"), 2);
    assert!(t.contains(&open("u0")));
    assert!(t.contains(&open("u1")));
    assert!(!t.contains(&open("u01")));
    assert!(!t.contains(&open("missing")));
}

#[test]
fn len_matches_with_default_precision() {
    let mut map: BTreeMap<OpenId, i64> = BTreeMap::new();
    map.insert(open("a"), 1);
    map.insert(open("b"), 2);
    let t: SectionTable<i64> = SectionTable::with_default_precision(map);
    assert_eq!(t.len(), 2);
    assert!(!t.is_empty());
}

#[test]
fn empty_default_precision_table_is_empty() {
    let t: SectionTable<i64> = SectionTable::with_default_precision(BTreeMap::new());
    assert_eq!(t.len(), 0);
    assert!(t.is_empty());
}