mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-04-19 02:04:57 +08:00
27 lines
767 B
Go
27 lines
767 B
Go
package agent
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/YspCoder/clawgo/pkg/providers"
|
|
)
|
|
|
|
func TestMergeUsageTotals(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
var result llmTurnLoopResult
|
|
mergeUsageTotals(&result, &providers.UsageInfo{PromptTokens: 10, CompletionTokens: 4, TotalTokens: 0})
|
|
mergeUsageTotals(&result, &providers.UsageInfo{PromptTokens: 3, CompletionTokens: 2, TotalTokens: 9})
|
|
|
|
if result.promptTokens != 13 {
|
|
t.Fatalf("prompt tokens = %d, want 13", result.promptTokens)
|
|
}
|
|
if result.completionTokens != 6 {
|
|
t.Fatalf("completion tokens = %d, want 6", result.completionTokens)
|
|
}
|
|
// First merge falls back to prompt+completion (14), second uses explicit total (9).
|
|
if result.totalTokens != 23 {
|
|
t.Fatalf("total tokens = %d, want 23", result.totalTokens)
|
|
}
|
|
}
|