Files
Assistant/cmd/cognitive-worker/interpretation_test.go
T

34 lines
1.2 KiB
Go

package main
import (
"testing"
"git.cin.su/m/Assistant/contracts/capability"
)
func TestParseInterpretationCandidateNormalizesOmittedSecondarySpeechAct(t *testing.T) {
candidate, ok := parseInterpretationCandidate(`{"primary_speech_act":"QUESTION","confidence_millis":800,"applicability":"APPLICABLE","clarification":"NOT_REQUIRED"}`)
if !ok {
t.Fatal("expected valid candidate")
}
if candidate.SecondarySpeechAct != "UNKNOWN" {
t.Fatalf("expected omitted secondary speech act to normalize to UNKNOWN, got %q", candidate.SecondarySpeechAct)
}
}
func TestParseInterpretationCandidateRejectsUnknownCapabilityHint(t *testing.T) {
_, ok := parseInterpretationCandidate(`{"primary_speech_act":"QUESTION","confidence_millis":800,"applicability":"APPLICABLE","clarification":"NOT_REQUIRED","capability_hints":["INVENTED_CAPABILITY"]}`)
if ok {
t.Fatal("expected unknown capability hint to be rejected")
}
}
func TestValidCapabilityKindMatchesContractEnum(t *testing.T) {
if !validCapabilityKind(capability.CapabilityKindCognitiveReasoning) {
t.Fatal("expected cognitive reasoning capability to be valid")
}
if validCapabilityKind(capability.CapabilityKind("INVENTED_CAPABILITY")) {
t.Fatal("invented capability must be invalid")
}
}