package llm import "testing" func TestRoute(t *testing.T) { tests := []struct { model string want ProviderID }{ {"claude-code", ProviderClaudeCode}, {"claude-code/custom", ProviderClaudeCode}, {"claude-sonnet-4-5-20250929", ProviderAnthropic}, {"claude-opus-4", ProviderAnthropic}, {"gpt-4o", ProviderOpenAI}, {"o1-preview", ProviderOpenAI}, {"o3-mini", ProviderOpenAI}, {"ollama/mistral", ProviderOllama}, {"unknown-model", ProviderOpenAI}, // default } for _, tt := range tests { t.Run(tt.model, func(t *testing.T) { got := Route(tt.model) if got != tt.want { t.Errorf("Route(%q) = %q, want %q", tt.model, got, tt.want) } }) } } func TestModelName(t *testing.T) { tests := []struct { input, want string }{ {"ollama/mistral", "mistral"}, {"gpt-4o", "gpt-4o"}, {"claude-sonnet-4-5-20250929", "claude-sonnet-4-5-20250929"}, } for _, tt := range tests { t.Run(tt.input, func(t *testing.T) { got := ModelName(tt.input) if got != tt.want { t.Errorf("ModelName(%q) = %q, want %q", tt.input, got, tt.want) } }) } }