Carry evidence through built-in generation retries
This commit is contained in:
27
internal/observation/usage_accumulator_test.go
Normal file
27
internal/observation/usage_accumulator_test.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package observation
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.maximumdirect.net/eric/promptkit/internal/domain"
|
||||
)
|
||||
|
||||
func TestUsageAccumulatorPreservesPresenceAndNoAttemptSemantics(t *testing.T) {
|
||||
var empty UsageAccumulator
|
||||
zero := empty.Observed()
|
||||
if !zero.PromptTokens.Known || !zero.PromptTokens.Complete || zero.PromptTokens.Value != 0 ||
|
||||
!zero.CacheWriteTokens.Known || !zero.CacheWriteTokens.Complete || zero.CacheWriteTokens.Value != 0 {
|
||||
t.Fatalf("zero-attempt usage = %+v", zero)
|
||||
}
|
||||
|
||||
var usage UsageAccumulator
|
||||
usage.Add(domain.TokenUsage{PromptTokens: 0}, &domain.TokenUsagePresence{PromptTokens: true})
|
||||
usage.Add(domain.TokenUsage{PromptTokens: 3}, &domain.TokenUsagePresence{PromptTokens: true})
|
||||
observed := usage.Observed()
|
||||
if observed.PromptTokens.Value != 3 || !observed.PromptTokens.Known || !observed.PromptTokens.Complete {
|
||||
t.Fatalf("reported prompt usage = %+v", observed.PromptTokens)
|
||||
}
|
||||
if observed.CompletionTokens.Known || observed.CompletionTokens.Complete {
|
||||
t.Fatalf("unreported completion usage = %+v", observed.CompletionTokens)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user