mean and median crash on an empty list
Done- Plan (done)
- Code (done)
- Test (done)
- Review (done)
- Finish (done)
Cost
$0.0023
Tests
Passed
Iterations
1
Re-plans
0
LLM calls
10
Prompt read from cache
85%
Usage by agent
- Cache read
- Cache write
- Input
- Output
View as table
| Agent | Cost | Cache read | Cache write | Input | Output |
|---|---|---|---|---|---|
| planner | $0.0006 | 5,625 | 843 | 8 | 869 |
| coder | $0.0007 | 8,573 | 1,836 | 8 | 804 |
| tester | $0.0010 | 14,183 | 2,367 | 10 | 1,160 |
Timeline
-
planner iteration 1 Finished 3 calls · 7,345 tokens · $0.0006 · 6.2s
Loading…
-
coder iteration 1 Finished 3 calls · 11.2K tokens · $0.0007 · 7.2s
Loading…
-
tester iteration 1 Finished 4 calls · 17.7K tokens · $0.0010 · 13.0s
Loading…
-
verify iteration 1 Passed 0.5s
........ [100%] 8 passed in 0.02s
Final diff
diff --git a/stats.py b/stats.py index 1367357..0aa8739 100644 --- a/stats.py +++ b/stats.py @@ -1,8 +1,12 @@ def mean(values: list[float]) -> float: + if not values: + return 0.0 return sum(values) / len(values) def median(values: list[float]) -> float: + if not values: + return 0.0 ordered = sorted(values) middle = len(ordered) // 2 if len(ordered) % 2: diff --git a/test_stats.py b/test_stats.py index 7b17903..296491d 100644 --- a/test_stats.py +++ b/test_stats.py @@ -5,6 +5,35 @@ def test_mean(): assert mean([1, 2, 3]) == 2 +def test_mean_empty(): + assert mean([]) == 0.0 + + def test_median(): assert median([3, 1, 2]) == 2 assert median([1, 2, 3, 4]) == 2.5 + + +def test_median_empty(): + assert median([]) == 0.0 + + +def test_empty_returns_float(): + assert isinstance(mean([]), float) + assert isinstance(median([]), float) + + +def test_empty_tuple(): + assert mean(()) == 0.0 + assert median(()) == 0.0 + + +def test_single_element(): + assert mean([5]) == 5 + assert median([5]) == 5 + + +def test_median_unsorted_and_does_not_mutate_input(): + values = [5, 1, 4, 2, 3] + assert median(values) == 3 + assert values == [5, 1, 4, 2, 3]