use alpha_id::corpus; #[test] fn parses_pipe_line_into_entry() { let line = "1|I69812|A01.0+|I39.8*|||99745|Typhus-Endokarditis"; let e = corpus::parse_line(line).expect("should parse"); assert_eq!(e.alpha_id, "I69812"); assert!(e.valid); assert_eq!(e.icd_primary, "A01.0"); // normalized: no '+' assert_eq!(e.icd_star, "I39.8"); // normalized: no '*' assert_eq!(e.orpha, "99745"); assert_eq!(e.text, "Typhus-Endokarditis"); } #[test] fn invalid_flag_is_false() { let line = "0|I97837|||U81!|||Bakterien mit Multiresistenz"; let e = corpus::parse_line(line).unwrap(); assert!(!e.valid); assert_eq!(e.icd_addon, "U81"); // field 5, '!' stripped assert_eq!(e.icd_primary, ""); } #[test] fn loads_full_real_corpus() { let entries = corpus::load("data/icd10gm2026_alphaidse_edvtxt_20250926.txt").unwrap(); assert_eq!(entries.len(), 90_898); assert!(entries.iter().any(|e| e.text.contains("Diabetes mellitus Typ 2"))); }