tercul-backend/internal/jobs/linguistics/language_detector_test.go
2025-09-05 21:37:42 +00:00

49 lines
1.3 KiB
Go

package linguistics
import "testing"
func TestLanguageDetector_Detect_EN(t *testing.T) {
d := NewLanguageDetector()
lang, err := d.DetectLanguage(" the and is in to of that for the ")
if err != nil {
t.Fatalf("DetectLanguage returned error: %v", err)
}
if lang != "en" {
t.Fatalf("expected language 'en', got %q", lang)
}
}
func TestLanguageDetector_Detect_ES(t *testing.T) {
d := NewLanguageDetector()
lang, err := d.DetectLanguage(" el la es en de que por para el ")
if err != nil {
t.Fatalf("DetectLanguage returned error: %v", err)
}
if lang != "es" {
t.Fatalf("expected language 'es', got %q", lang)
}
}
func TestLanguageDetector_Detect_FR(t *testing.T) {
d := NewLanguageDetector()
lang, err := d.DetectLanguage(" le la est en de que pour dans le ")
if err != nil {
t.Fatalf("DetectLanguage returned error: %v", err)
}
if lang != "fr" {
t.Fatalf("expected language 'fr', got %q", lang)
}
}
func TestLanguageDetector_Detect_DefaultEnglish(t *testing.T) {
d := NewLanguageDetector()
// Balanced/unknown should default to English per implementation
lang, err := d.DetectLanguage(" lorem ipsum dolor sit amet ")
if err != nil {
t.Fatalf("DetectLanguage returned error: %v", err)
}
if lang != "en" {
t.Fatalf("expected default language 'en', got %q", lang)
}
}