1package provider
2
3import "testing"
4
5func TestReasoningEffortMappings(t *testing.T) {
6 cases := []struct {
7 level string
8 openai string
9 codex string
10 budget int
11 normalized string
12 }{
13 {"off", "", "", 0, ""},
14 {"minimum", "low", "low", 1024, "minimum"},
15 {"minimal", "low", "low", 1024, "minimum"},
16 {"low", "low", "low", 2048, "low"},
17 {"medium", "medium", "medium", 8192, "medium"},
18 {"high", "high", "high", 16384, "high"},
19 {"maximum", "high", "xhigh", 32768, "maximum"},
20 {"max", "high", "xhigh", 32768, "maximum"},
21 }
22 for _, tc := range cases {
23 if got := NormalizeReasoning(tc.level); got != tc.normalized {
24 t.Errorf("NormalizeReasoning(%q)=%q want %q", tc.level, got, tc.normalized)
25 }
26 if got := OpenAIReasoningEffort(tc.level); got != tc.openai {
27 t.Errorf("OpenAIReasoningEffort(%q)=%q want %q", tc.level, got, tc.openai)
28 }
29 if got := OpenAICodexReasoningEffort(tc.level); got != tc.codex {
30 t.Errorf("OpenAICodexReasoningEffort(%q)=%q want %q", tc.level, got, tc.codex)
31 }
32 if got := ReasoningBudget(tc.level); got != tc.budget {
33 t.Errorf("ReasoningBudget(%q)=%d want %d", tc.level, got, tc.budget)
34 }
35 }
36}