package linguistics import "testing" func TestLanguageDetector_Detect_EN(t *testing.T) { d := NewLanguageDetector() lang, conf, err := d.Detect(Text{Body: " the and is in to of that for the "}) if err != nil { t.Fatalf("Detect returned error: %v", err) } if lang != "en" { t.Fatalf("expected language 'en', got %q", lang) } if conf <= 0 { t.Errorf("expected positive confidence, got %f", conf) } } func TestLanguageDetector_Detect_ES(t *testing.T) { d := NewLanguageDetector() lang, _, _ := d.Detect(Text{Body: " el la es en de que por para el "}) if lang != "es" { t.Fatalf("expected language 'es', got %q", lang) } } func TestLanguageDetector_Detect_FR(t *testing.T) { d := NewLanguageDetector() lang, _, _ := d.Detect(Text{Body: " le la est en de que pour dans le "}) 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, conf, err := d.Detect(Text{Body: " lorem ipsum dolor sit amet "}) if err != nil { t.Fatalf("Detect returned error: %v", err) } if lang != "en" { t.Fatalf("expected default language 'en', got %q", lang) } if conf != 0.5 { t.Errorf("expected default confidence 0.5, got %f", conf) } }