Files
git-air/internal/llm/model_test.go
T

52 lines
1.1 KiB
Go

package llm
import (
"fmt"
"testing"
)
func TestIsReasoningModel(t *testing.T) {
tests := []struct {
model string
expected bool
}{
{"o1", true},
{"o1-mini", true},
{"o1-preview", true},
{"o3-mini", true},
{"gpt-5.6-luna", true},
{"gpt-5.6-sol", true},
{"gpt-5.6-terra", true},
{"deepseek-reasoner", true},
{"gemini-3.7-flash", false},
{"claude-4.6-sonnet", false},
{"gpt-4o", false},
}
for _, tt := range tests {
got := isReasoningModel(tt.model)
if got != tt.expected {
t.Errorf("isReasoningModel(%q) = %v, expected %v", tt.model, got, tt.expected)
}
}
}
func TestIsTemperatureError(t *testing.T) {
tests := []struct {
errStr string
expected bool
}{
{"this model has beta-limitations, temperature, top_p and n are fixed at 1", true},
{"temperature must be 1.0", true},
{"invalid api key", false},
{"rate limit exceeded", false},
}
for _, tt := range tests {
got := isTemperatureError(fmt.Errorf("%s", tt.errStr))
if got != tt.expected {
t.Errorf("isTemperatureError(%q) = %v, expected %v", tt.errStr, got, tt.expected)
}
}
}