34 lines
1.2 KiB
Go
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")
|
|
}
|
|
}
|