Help AI coding agents use Java Streams and Collectors well in new code, review, and cleanup without replacing one antipattern with another.
100
100%
Does it follow best practices?
Impact
100%
2.17xAverage score across 4 eval scenarios
Passed
No known issues
{
"context": "Main eval weighted implementation: non-overlapping Java 17 scenario for Collectors.teeing, minBy/maxBy, takeWhile, and dropWhile.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Creates coherent Java 17 artifact",
"description": "Creates InvoiceBoundsAndTemperatures.java with requested methods and records.",
"max_score": 10
},
{
"name": "Uses teeing for invoice bounds",
"description": "Uses Collectors.teeing with minBy and maxBy by Invoice::total, or an equivalent single-pass pair reduction.",
"max_score": 70
},
{
"name": "Handles empty invoice bounds",
"description": "Returns a Bounds whose low and high values are null for an empty invoice list.",
"max_score": 20
},
{
"name": "Uses takeWhile for before-overheat prefix",
"description": "Uses takeWhile(reading -> reading.temperatureCelsius() <= maxSafeTemperature) or an equivalent prefix-preserving loop, not filter.",
"max_score": 45
},
{
"name": "Uses dropWhile for after-safe-run remainder",
"description": "Uses dropWhile(reading -> reading.temperatureCelsius() <= maxSafeTemperature) or an equivalent prefix-skipping loop, not a filter that removes later safe readings.",
"max_score": 45
},
{
"name": "Keeps implementation focused",
"description": "Keeps the implementation focused on the requested stream helpers without unrelated abstractions, caching, concurrency, or API redesign.",
"max_score": 10
}
]
}