MCPcopy Create free account
hub / github.com/astercloud/aster / TestCalculateSummary

Function TestCalculateSummary

pkg/evals/batch_test.go:279–335  ·  view source on GitHub ↗

TestCalculateSummary 测试汇总计算

(t *testing.T)

Source from the content-addressed store, hash-verified

277
278// TestCalculateSummary 测试汇总计算
279func TestCalculateSummary(t *testing.T) {
280 results := []*BatchResult{
281 {
282 TestCaseID: "case1",
283 Scores: []*ScoreResult{
284 {Name: "scorer1", Value: 0.8},
285 {Name: "scorer2", Value: 0.9},
286 },
287 Duration: 100 * time.Millisecond,
288 Error: "",
289 },
290 {
291 TestCaseID: "case2",
292 Scores: []*ScoreResult{
293 {Name: "scorer1", Value: 0.7},
294 {Name: "scorer2", Value: 0.85},
295 },
296 Duration: 150 * time.Millisecond,
297 Error: "",
298 },
299 {
300 TestCaseID: "case3",
301 Scores: []*ScoreResult{},
302 Duration: 0,
303 Error: "test error",
304 },
305 }
306
307 summary := calculateSummary(results)
308
309 if summary.TotalCases != 3 {
310 t.Errorf("TotalCases = %d, want 3", summary.TotalCases)
311 }
312
313 if summary.SuccessfulCases != 2 {
314 t.Errorf("SuccessfulCases = %d, want 2", summary.SuccessfulCases)
315 }
316
317 if summary.FailedCases != 1 {
318 t.Errorf("FailedCases = %d, want 1", summary.FailedCases)
319 }
320
321 // 验证平均分
322 if avgScore1, ok := summary.AverageScores["scorer1"]; !ok || avgScore1 != 0.75 {
323 t.Errorf("AverageScores[scorer1] = %v, want 0.75", avgScore1)
324 }
325
326 if avgScore2, ok := summary.AverageScores["scorer2"]; !ok || avgScore2 != 0.875 {
327 t.Errorf("AverageScores[scorer2] = %v, want 0.875", avgScore2)
328 }
329
330 // 验证平均执行时间
331 expectedAvgDuration := 125 * time.Millisecond
332 if summary.AverageDuration != expectedAvgDuration {
333 t.Errorf("AverageDuration = %v, want %v", summary.AverageDuration, expectedAvgDuration)
334 }
335}
336

Callers

nothing calls this directly

Calls 1

calculateSummaryFunction · 0.85

Tested by

no test coverage detected