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

Function TestComputeRunMetricsDiff_WithTokenUsageDetails

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

Source from the content-addressed store, hash-verified

815}
816
817func TestComputeRunMetricsDiff_WithTokenUsageDetails(t *testing.T) {
818 summary1 := &RunSummary{
819 RunID: 100,
820 Run: WorkflowRun{Duration: 5 * time.Minute, Turns: 4},
821 TokenUsage: &TokenUsageSummary{
822 TotalInputTokens: 8000,
823 TotalOutputTokens: 1500,
824 TotalAIC: 0.6,
825 TotalRequests: 8,
826 CacheEfficiency: 0.25,
827 },
828 }
829 summary2 := &RunSummary{
830 RunID: 200,
831 Run: WorkflowRun{Duration: 7 * time.Minute, Turns: 6},
832 TokenUsage: &TokenUsageSummary{
833 TotalInputTokens: 12000,
834 TotalOutputTokens: 2000,
835 TotalAIC: 0.9,
836 TotalRequests: 11,
837 CacheEfficiency: 0.30,
838 },
839 }
840
841 diff := computeRunMetricsDiff(summary1, summary2)
842
843 require.NotNil(t, diff, "Should produce metrics diff")
844 require.NotNil(t, diff.TokenUsageDetails, "Should populate TokenUsageDetails from RunSummary.TokenUsage")
845
846 assert.Equal(t, 8000, diff.TokenUsageDetails.Run1InputTokens, "Run1 input tokens should be 8000")
847 assert.Equal(t, 12000, diff.TokenUsageDetails.Run2InputTokens, "Run2 input tokens should be 12000")
848 assert.Equal(t, "+50%", diff.TokenUsageDetails.InputTokensChange, "Input tokens change should be +50%")
849
850 assert.InDelta(t, 0.6, diff.TokenUsageDetails.Run1AIC, 1e-9, "Run1 AI Credits should be 0.6")
851 assert.InDelta(t, 0.9, diff.TokenUsageDetails.Run2AIC, 1e-9, "Run2 AI Credits should be 0.9")
852 assert.Equal(t, "+0.300", diff.TokenUsageDetails.AICChange, "AI Credits delta should be +0.300")
853}
854
855func TestComputeRunMetricsDiff_TokenUsageDetailsAloneNotNil(t *testing.T) {
856 // Verify that detailed token usage data alone (without Run.TokenUsage set)

Callers

nothing calls this directly

Calls 1

computeRunMetricsDiffFunction · 0.85

Tested by

no test coverage detected