package ucca import "testing" func TestDetectIntentUmlautFold(t *testing.T) { cases := map[string]string{ "Pruefe meine Datenschutzerklaerung.": "review", // ASCII digraph "Prüfe meine Datenschutzerklärung.": "review", // umlaut "Ueberpruefe das Impressum": "review", // ASCII "überprüfe" "Was ist eine TOM?": "definition", // unchanged } for q, want := range cases { if got := DetectIntent(q); got != want { t.Errorf("DetectIntent(%q)=%q want %q", q, got, want) } } } func TestConceptNormsUmlautFold(t *testing.T) { // ASCII "datenschutzerklaerung" must resolve to the same core norms as the umlaut form. ascii := ConceptNorms("Was gehoert in eine Datenschutzerklaerung?") umlaut := ConceptNorms("Was gehört in eine Datenschutzerklärung?") if len(ascii) == 0 { t.Errorf("ConceptNorms(ASCII datenschutzerklaerung) returned none") } if len(ascii) != len(umlaut) { t.Errorf("ASCII vs umlaut concept norms differ: %v vs %v", ascii, umlaut) } }