25 lines
855 B
Go
25 lines
855 B
Go
package handoff
|
|
|
|
import "testing"
|
|
|
|
func TestDetectHandoffRequest(t *testing.T) {
|
|
cases := []string{"оператор", "соедините с оператором", "хочу поговорить с человеком", "операторға қосыңыз", "маман керек", "live agent"}
|
|
for _, tc := range cases {
|
|
res := DetectHandoffRequest(tc, "ru")
|
|
if !res.Requested || res.Confidence < 0.7 {
|
|
t.Fatalf("%q not detected: %+v", tc, res)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestDetectHandoffFalsePositive(t *testing.T) {
|
|
res := DetectHandoffRequest("оператор связи тариф", "ru")
|
|
if res.Requested || !res.NeedsClarification {
|
|
t.Fatalf("expected ambiguous false positive protection: %+v", res)
|
|
}
|
|
res = DetectHandoffRequest("какой у меня тариф", "ru")
|
|
if res.Requested {
|
|
t.Fatalf("unexpected handoff: %+v", res)
|
|
}
|
|
}
|