antigravity_thinking_test.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. //go:build unit
  2. package service
  3. import (
  4. "testing"
  5. )
  6. func TestApplyThinkingModelSuffix(t *testing.T) {
  7. tests := []struct {
  8. name string
  9. mappedModel string
  10. thinkingEnabled bool
  11. expected string
  12. }{
  13. // Thinking 未开启:保持原样
  14. {
  15. name: "thinking disabled - claude-sonnet-4-5 unchanged",
  16. mappedModel: "claude-sonnet-4-5",
  17. thinkingEnabled: false,
  18. expected: "claude-sonnet-4-5",
  19. },
  20. {
  21. name: "thinking disabled - other model unchanged",
  22. mappedModel: "claude-opus-4-6-thinking",
  23. thinkingEnabled: false,
  24. expected: "claude-opus-4-6-thinking",
  25. },
  26. // Thinking 开启 + claude-sonnet-4-5:自动添加后缀
  27. {
  28. name: "thinking enabled - claude-sonnet-4-5 becomes thinking version",
  29. mappedModel: "claude-sonnet-4-5",
  30. thinkingEnabled: true,
  31. expected: "claude-sonnet-4-5-thinking",
  32. },
  33. // Thinking 开启 + 其他模型:保持原样
  34. {
  35. name: "thinking enabled - claude-sonnet-4-5-thinking unchanged",
  36. mappedModel: "claude-sonnet-4-5-thinking",
  37. thinkingEnabled: true,
  38. expected: "claude-sonnet-4-5-thinking",
  39. },
  40. {
  41. name: "thinking enabled - claude-opus-4-6-thinking unchanged",
  42. mappedModel: "claude-opus-4-6-thinking",
  43. thinkingEnabled: true,
  44. expected: "claude-opus-4-6-thinking",
  45. },
  46. {
  47. name: "thinking enabled - gemini model unchanged",
  48. mappedModel: "gemini-3-flash",
  49. thinkingEnabled: true,
  50. expected: "gemini-3-flash",
  51. },
  52. }
  53. for _, tt := range tests {
  54. t.Run(tt.name, func(t *testing.T) {
  55. result := applyThinkingModelSuffix(tt.mappedModel, tt.thinkingEnabled)
  56. if result != tt.expected {
  57. t.Errorf("applyThinkingModelSuffix(%q, %v) = %q, want %q",
  58. tt.mappedModel, tt.thinkingEnabled, result, tt.expected)
  59. }
  60. })
  61. }
  62. }