pub mod matrix;
pub mod report;
pub use matrix::{JenaCategory, JenaEntry, JenaParityMatrix, JenaStatus};
pub use report::generate_jena_report;
pub fn load_catalog() -> Result<JenaParityMatrix, Box<dyn std::error::Error>> {
let toml_str = include_str!("jena_catalog.toml");
matrix::parse_catalog(toml_str)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_load_catalog_succeeds() {
let matrix = load_catalog().expect("embedded catalog should parse without error");
assert!(
!matrix.is_empty(),
"catalog must have at least one category"
);
}
#[test]
fn test_generate_report_from_catalog() {
let matrix = load_catalog().expect("catalog");
let report = generate_jena_report(&matrix);
assert!(report.len() > 100, "report should be non-trivial");
}
}