Files
clawgo/pkg/agent/loop_usage_test.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)
}
}