--- Tokens per turn tests ---
(t *testing.T)
| 1338 | // --- Tokens per turn tests --- |
| 1339 | |
| 1340 | func TestComputeRunMetricsDiff_TokensPerTurn(t *testing.T) { |
| 1341 | summary1 := &RunSummary{ |
| 1342 | Run: WorkflowRun{ |
| 1343 | TokenUsage: 10000, |
| 1344 | Turns: 5, |
| 1345 | }, |
| 1346 | } |
| 1347 | summary2 := &RunSummary{ |
| 1348 | Run: WorkflowRun{ |
| 1349 | TokenUsage: 18000, |
| 1350 | Turns: 6, |
| 1351 | }, |
| 1352 | } |
| 1353 | |
| 1354 | diff := computeRunMetricsDiff(summary1, summary2) |
| 1355 | require.NotNil(t, diff, "Should produce metrics diff") |
| 1356 | |
| 1357 | // Uses engine token counts for tokens/turn. |
| 1358 | assert.Equal(t, 2000, diff.Run1TokensPerTurn, "Run1 tokens/turn should be 10000/5=2000") |
| 1359 | assert.Equal(t, 3000, diff.Run2TokensPerTurn, "Run2 tokens/turn should be 18000/6=3000") |
| 1360 | assert.Equal(t, "+50%", diff.TokensPerTurnChange, "Tokens/turn should increase by 50%") |
| 1361 | } |
| 1362 | |
| 1363 | func TestComputeRunMetricsDiff_TokensPerTurnIgnoresEffectiveTokenTotals(t *testing.T) { |
| 1364 | // Tokens/turn should continue to use engine token usage even when effective totals exist. |
nothing calls this directly
no test coverage detected