MCPcopy Create free account
hub / github.com/github/gh-aw / TestComputeTokenUsageDiff_WithData

Function TestComputeTokenUsageDiff_WithData

pkg/cli/audit_diff_test.go:736–786  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

734}
735
736func TestComputeTokenUsageDiff_WithData(t *testing.T) {
737 tu1 := &TokenUsageSummary{
738 TotalInputTokens: 10000,
739 TotalOutputTokens: 2000,
740 TotalCacheReadTokens: 5000,
741 TotalCacheWriteTokens: 1000,
742 TotalAIC: 0.8,
743 TotalRequests: 10,
744 CacheEfficiency: 0.333,
745 }
746 tu2 := &TokenUsageSummary{
747 TotalInputTokens: 15000,
748 TotalOutputTokens: 3000,
749 TotalCacheReadTokens: 7000,
750 TotalCacheWriteTokens: 800,
751 TotalAIC: 1.4,
752 TotalRequests: 14,
753 CacheEfficiency: 0.318,
754 }
755
756 diff := computeTokenUsageDiff(tu1, tu2)
757
758 require.NotNil(t, diff, "Should produce token usage diff when data is available")
759 assert.Equal(t, 10000, diff.Run1InputTokens, "Run1 input tokens should be 10000")
760 assert.Equal(t, 15000, diff.Run2InputTokens, "Run2 input tokens should be 15000")
761 assert.Equal(t, "+50%", diff.InputTokensChange, "Input tokens should increase by 50%")
762
763 assert.Equal(t, 2000, diff.Run1OutputTokens, "Run1 output tokens should be 2000")
764 assert.Equal(t, 3000, diff.Run2OutputTokens, "Run2 output tokens should be 3000")
765 assert.Equal(t, "+50%", diff.OutputTokensChange, "Output tokens should increase by 50%")
766
767 assert.Equal(t, 5000, diff.Run1CacheReadTokens, "Run1 cache read tokens should be 5000")
768 assert.Equal(t, 7000, diff.Run2CacheReadTokens, "Run2 cache read tokens should be 7000")
769 assert.Equal(t, "+40%", diff.CacheReadTokensChange, "Cache read tokens should increase by 40%")
770
771 assert.Equal(t, 1000, diff.Run1CacheWriteTokens, "Run1 cache write tokens should be 1000")
772 assert.Equal(t, 800, diff.Run2CacheWriteTokens, "Run2 cache write tokens should be 800")
773 assert.Equal(t, "-20%", diff.CacheWriteTokensChange, "Cache write tokens should decrease by 20%")
774
775 assert.InDelta(t, 0.8, diff.Run1AIC, 1e-9, "Run1 AI Credits should be 0.8")
776 assert.InDelta(t, 1.4, diff.Run2AIC, 1e-9, "Run2 AI Credits should be 1.4")
777 assert.Equal(t, "+0.600", diff.AICChange, "AI Credits delta should be +0.600")
778
779 assert.Equal(t, 10, diff.Run1TotalRequests, "Run1 requests should be 10")
780 assert.Equal(t, 14, diff.Run2TotalRequests, "Run2 requests should be 14")
781 assert.Equal(t, "+4", diff.RequestsDelta, "Requests delta should be +4")
782
783 assert.InDelta(t, 0.333, diff.Run1CacheEfficiency, 0.001, "Run1 cache efficiency should match")
784 assert.InDelta(t, 0.318, diff.Run2CacheEfficiency, 0.001, "Run2 cache efficiency should match")
785 assert.Equal(t, "-1.5pp", diff.CacheEfficiencyChange, "Cache efficiency change should be -1.5pp")
786}
787
788func TestComputeTokenUsageDiff_Run1Nil(t *testing.T) {
789 tu2 := &TokenUsageSummary{

Callers

nothing calls this directly

Calls 1

computeTokenUsageDiffFunction · 0.85

Tested by

no test coverage detected