use alpha_id::eval::{inject_errors, recall_at_k}; #[test] fn injection_is_deterministic_for_seed() { let a = inject_errors("Diabetes mellitus Typ 2", 0.3, 42); let b = inject_errors("Diabetes mellitus Typ 2", 0.3, 42); assert_eq!(a, b); assert_ne!(a, "Diabetes mellitus Typ 2"); // some corruption at rate 0.3 } #[test] fn recall_counts_hit_within_k() { let predicted = vec!["E11.9".to_string(), "I10.90".to_string(), "J45.0".to_string()]; assert_eq!(recall_at_k(&predicted, "I10.90", 5), 1.0); assert_eq!(recall_at_k(&predicted, "I10.90", 1), 0.0); assert_eq!(recall_at_k(&predicted, "Z99.9", 5), 0.0); }