26 lines
992 B
Go
26 lines
992 B
Go
package domain_test
|
|
|
|
import (
|
|
"git.cin.su/m/Assistant/contracts/capability"
|
|
"testing"
|
|
)
|
|
|
|
func TestStrategyUsesRiskAndCostSignals(t *testing.T) {
|
|
if got := (capability.StrategyRequest{RequiredQuality: 400, CostBudgetMicros: 10}).Select().Path; got != capability.PathRule {
|
|
t.Fatal(got)
|
|
}
|
|
if got := (capability.StrategyRequest{RiskClass: "HIGH", CostOfError: 900}).Select(); got.Path != capability.PathStrongLocal || !got.Escalate {
|
|
t.Fatalf("%#v", got)
|
|
}
|
|
}
|
|
|
|
func TestUnavailableReflexFallsBackThroughSkillToReasoning(t *testing.T) {
|
|
request := capability.StrategyRequest{PreferLowLatency: true, RequiredQuality: 700}
|
|
if got := request.SelectEligible(capability.StrategyEligibility{SkillEligible: true}); got.Path != capability.PathSkill {
|
|
t.Fatalf("expected Skill fallback, got %#v", got)
|
|
}
|
|
if got := request.SelectEligible(capability.StrategyEligibility{}); got.Path != capability.PathSmallLocal || !got.Escalate {
|
|
t.Fatalf("expected reasoning fallback, got %#v", got)
|
|
}
|
|
}
|