Skip to content

Commit f6667a8

Browse files
authored
test: add more test cases (#35)
1 parent 16c6e10 commit f6667a8

File tree

111 files changed

+960
-239
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+960
-239
lines changed

.amazonq/rules/development-rules.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,7 @@ Each problem has:
2424

2525
- `README.md` - Problem description
2626
- `solution.py` - Implementation with TODO placeholder
27-
- `tests.py` - Parametrized pytest tests
27+
- `test_solution.py` - Parametrized pytest tests
28+
- `helpers.py` - Test helper functions
29+
- `playground.ipynb` - Interactive Jupyter notebook
2830
- `__init__.py` - Empty package file
Lines changed: 43 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,78 @@
11
# Test Case Enhancement Rules
22

3-
## Assistant Workflow for Adding Comprehensive Test Cases
3+
## Simple Enhancement Workflow
44

5-
When user requests to enhance test cases for a problem, the assistant will:
5+
When user requests test case enhancement:
66

7-
### 1. Problem Resolution (Priority Order)
7+
### 1. Problem Resolution
88

9-
- **FIRST**: Try to resolve from context - check active file path or user-provided problem name
10-
- **SECOND**: If context resolution fails, THEN run `poetry run python .templates/check_test_cases.py --threshold=10 --max=1` to auto-detect 1 problem with <10 test cases
11-
- **LAST**: If both above fail, ask user to explicitly specify problem name
9+
- Use active file context or user-provided problem name
10+
- If unclear, run: `poetry run python .templates/check_test_cases.py --threshold=10 --max=1`
1211

13-
### 2. Test Case Generation
12+
### 2. Enhancement Process
1413

15-
- Read `leetcode/{problem_name}/README.md` for problem understanding
16-
- Analyze existing test cases in `leetcode/{problem_name}/tests.py`
17-
- Generate comprehensive test cases covering:
18-
- **Edge cases**: Empty inputs, single elements, boundary values
19-
- **Corner cases**: Maximum/minimum constraints, special patterns
20-
- **Normal cases**: Typical scenarios with varied complexity
21-
- **Error cases**: Invalid inputs (if applicable)
22-
23-
### 3. Initial Validation
24-
25-
- Run `make p-test PROBLEM={problem_name}` to verify current implementation
26-
- **If errors found**:
27-
- DO NOT update implementation automatically
28-
- Only update test cases if they're incorrect
29-
- If implementation seems wrong, ASK USER first before modifying
30-
31-
### 4. JSON Template Update
32-
33-
- Update corresponding `.templates/leetcode/json/{problem_name}.json`
34-
- Add new test cases to `test_cases` field in proper format
35-
- Maintain existing test structure and naming conventions
36-
37-
### 5. Backup and Regeneration Process
38-
39-
- **Backup**: Move `leetcode/{problem_name}/` to `.cache/leetcode/{problem_name}/`
40-
- **Regenerate**: Run `make p-gen PROBLEM={problem_name} FORCE=1`
41-
- **Lint check**: Run `make p-lint PROBLEM={problem_name}`
42-
- **Iterate**: If lint fails, update JSON and regenerate until passes
14+
```bash
15+
# Simple 4-step process:
16+
# 1. Update JSON template with more test cases (12-15 total)
17+
# 2. Backup original
18+
mv leetcode/{problem_name} .cache/leetcode/{problem_name}
19+
# 3. Regenerate with enhanced tests
20+
make p-gen PROBLEM={problem_name} FORCE=1 && make p-lint PROBLEM={problem_name}
21+
# 4. Restore original solution, keep enhanced tests
22+
cp .cache/leetcode/{problem_name}/solution.py leetcode/{problem_name}/solution.py
23+
```
4324

44-
### 6. Solution Preservation
25+
### 3. Verification
4526

46-
- Copy `solution.py` from backup to newly generated structure
47-
- Run `make p-test PROBLEM={problem_name}` to verify tests pass
48-
- **If tests fail**: Go back to step 4, update JSON, and iterate until passes
27+
- Run `make p-test PROBLEM={problem_name}`
28+
- Fix any incorrect expected values in test cases
29+
- Update JSON template with corrections
4930

50-
### 7. Cleanup and Restore
31+
### 4. Restore Backup
5132

52-
- **CRITICAL**: Remove entire newly generated `leetcode/{problem_name}/` directory
53-
- **CRITICAL**: Restore original structure from `.cache/leetcode/{problem_name}/` backup
54-
- **CRITICAL**: Only THEN copy enhanced `test_solution.py` from generated files to restored structure
55-
- **CRITICAL**: Preserve existing solution class parametrization - if original test had multiple solution classes, restore them
56-
- Verify final state with `make p-test PROBLEM={problem_name}`
57-
- Clean up backup directory after successful verification
33+
```bash
34+
# Copy enhanced test_solution.py to backup
35+
cp leetcode/{problem_name}/test_solution.py .cache/leetcode/{problem_name}/
36+
# Restore all original files (preserves user edits)
37+
rm -rf leetcode/{problem_name}
38+
mv .cache/leetcode/{problem_name} leetcode/{problem_name}
39+
```
5840

59-
## Test Case Quality Standards
41+
## Test Case Standards
6042

6143
### Coverage Requirements
6244

63-
- **Minimum 10 test cases** per problem
64-
- **Edge cases**: 20-30% of total test cases
65-
- **Normal cases**: 50-60% of total test cases
66-
- **Corner cases**: 20-30% of total test cases
45+
- **Minimum 12 test cases** per problem
46+
- **Edge cases**: Empty inputs, single elements, boundary values
47+
- **Corner cases**: Maximum/minimum constraints, duplicates, sorted arrays
48+
- **Normal cases**: Mixed scenarios with varied complexity
6749

68-
### Test Case Categories
50+
### JSON Format
6951

70-
#### Edge Cases
71-
72-
- Empty inputs: `[]`, `""`, `None`
73-
- Single element: `[1]`, `"a"`
74-
- Boundary values: `[0]`, `[1]`, `[-1]`
75-
- Maximum/minimum constraints from problem description
76-
77-
#### Corner Cases
78-
79-
- Duplicate elements: `[1,1,1]`
80-
- Sorted/reverse sorted arrays: `[1,2,3]`, `[3,2,1]`
81-
- All same elements: `[5,5,5,5]`
82-
- Alternating patterns: `[1,0,1,0]`
83-
84-
#### Normal Cases
85-
86-
- Mixed positive/negative numbers
87-
- Various array sizes within constraints
88-
- Different data patterns and structures
89-
- Representative problem scenarios
90-
91-
### JSON Format Requirements
92-
93-
- Use single quotes for Python strings in test cases
52+
- Use single quotes for Python strings: `'hello'` not `"hello"`
9453
- Follow existing parametrize format
95-
- Maintain type hints in parametrize_typed
96-
- Ensure test_cases string is valid Python list syntax
97-
- **NEVER include custom solution classes** in test_imports - only import the main solution class specified in solution_class_name
98-
- **PRESERVE existing solution class parametrization** - if original test had multiple solution classes, restore them after JSON regeneration
54+
- Ensure valid Python list syntax in test_cases field
9955

100-
## Commands Reference
56+
## Quick Commands
10157

10258
```bash
103-
# Find problems needing more test cases
104-
poetry run python .templates/check_test_cases.py --threshold=10 --max=1
59+
# Find problems needing enhancement
60+
poetry run python .templates/check_test_cases.py --threshold=10
10561

10662
# Test specific problem
10763
make p-test PROBLEM={problem_name}
10864

10965
# Generate from JSON template
11066
make p-gen PROBLEM={problem_name} FORCE=1
11167

112-
# Lint specific problem
68+
# Lint check
11369
make p-lint PROBLEM={problem_name}
11470
```
11571

116-
## Error Handling
117-
118-
- **Implementation errors**: Ask user before modifying solution code
119-
- **Test failures**: Update JSON template and regenerate
120-
- **Lint failures**: Fix JSON format and iterate
121-
- **Backup failures**: Ensure `.cache/leetcode/` directory exists
122-
12372
## Success Criteria
12473

12574
- All tests pass with enhanced test cases
126-
- Minimum 10 comprehensive test cases per problem
127-
- Original solution code preserved and working
75+
- Minimum 12 comprehensive test cases per problem
76+
- Original solution code preserved
77+
- **Enhanced test cases in final test_solution.py**
12878
- JSON template updated for future regeneration
129-
- Clean final state with no temporary files

.templates/leetcode/json/accounts_merge.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"name": "test_accounts_merge",
4141
"signature": "(self, accounts: list[list[str]], expected: list[list[str]])",
4242
"parametrize": "accounts, expected",
43-
"test_cases": "[([[\"John\", \"johnsmith@mail.com\", \"john_newyork@mail.com\"], [\"John\", \"johnsmith@mail.com\", \"john00@mail.com\"], [\"Mary\", \"mary@mail.com\"], [\"John\", \"johnnybravo@mail.com\"]], [[\"John\", \"john00@mail.com\", \"john_newyork@mail.com\", \"johnsmith@mail.com\"], [\"Mary\", \"mary@mail.com\"], [\"John\", \"johnnybravo@mail.com\"]]), ([[\"Gabe\", \"Gabe0@m.co\", \"Gabe3@m.co\", \"Gabe1@m.co\"], [\"Kevin\", \"Kevin3@m.co\", \"Kevin5@m.co\", \"Kevin0@m.co\"], [\"Ethan\", \"Ethan5@m.co\", \"Ethan4@m.co\", \"Ethan0@m.co\"], [\"Hanzo\", \"Hanzo3@m.co\", \"Hanzo1@m.co\", \"Hanzo0@m.co\"], [\"Fern\", \"Fern5@m.co\", \"Fern1@m.co\", \"Fern0@m.co\"]], [[\"Ethan\", \"Ethan0@m.co\", \"Ethan4@m.co\", \"Ethan5@m.co\"], [\"Gabe\", \"Gabe0@m.co\", \"Gabe1@m.co\", \"Gabe3@m.co\"], [\"Hanzo\", \"Hanzo0@m.co\", \"Hanzo1@m.co\", \"Hanzo3@m.co\"], [\"Kevin\", \"Kevin0@m.co\", \"Kevin3@m.co\", \"Kevin5@m.co\"], [\"Fern\", \"Fern0@m.co\", \"Fern1@m.co\", \"Fern5@m.co\"]]), ([[\"John\", \"john@mail.com\"]], [[\"John\", \"john@mail.com\"]]), ([[\"John\"]], [[\"John\"]]), ([[\"John\", \"john1@mail.com\"], [\"John\", \"john2@mail.com\"], [\"John\", \"john3@mail.com\"]], [[\"John\", \"john1@mail.com\"], [\"John\", \"john2@mail.com\"], [\"John\", \"john3@mail.com\"]]), ([[\"John\", \"a@mail.com\", \"b@mail.com\"], [\"John\", \"b@mail.com\", \"c@mail.com\"], [\"John\", \"d@mail.com\"]], [[\"John\", \"a@mail.com\", \"b@mail.com\", \"c@mail.com\"], [\"John\", \"d@mail.com\"]]), ([[\"Alice\", \"alice@mail.com\", \"alice1@mail.com\"], [\"Alice\", \"alice2@mail.com\", \"alice3@mail.com\"], [\"Alice\", \"alice1@mail.com\", \"alice2@mail.com\"]], [[\"Alice\", \"alice1@mail.com\", \"alice2@mail.com\", \"alice3@mail.com\", \"alice@mail.com\"]]), ([[\"John\", \"shared@mail.com\"], [\"Jane\", \"shared@mail.com\"]], [[\"John\", \"shared@mail.com\"]])]",
43+
"test_cases": "[([[\"John\", \"johnsmith@mail.com\", \"john_newyork@mail.com\"], [\"John\", \"johnsmith@mail.com\", \"john00@mail.com\"], [\"Mary\", \"mary@mail.com\"], [\"John\", \"johnnybravo@mail.com\"]], [[\"John\", \"john00@mail.com\", \"john_newyork@mail.com\", \"johnsmith@mail.com\"], [\"Mary\", \"mary@mail.com\"], [\"John\", \"johnnybravo@mail.com\"]]), ([[\"Gabe\", \"Gabe0@m.co\", \"Gabe3@m.co\", \"Gabe1@m.co\"], [\"Kevin\", \"Kevin3@m.co\", \"Kevin5@m.co\", \"Kevin0@m.co\"], [\"Ethan\", \"Ethan5@m.co\", \"Ethan4@m.co\", \"Ethan0@m.co\"], [\"Hanzo\", \"Hanzo3@m.co\", \"Hanzo1@m.co\", \"Hanzo0@m.co\"], [\"Fern\", \"Fern5@m.co\", \"Fern1@m.co\", \"Fern0@m.co\"]], [[\"Ethan\", \"Ethan0@m.co\", \"Ethan4@m.co\", \"Ethan5@m.co\"], [\"Gabe\", \"Gabe0@m.co\", \"Gabe1@m.co\", \"Gabe3@m.co\"], [\"Hanzo\", \"Hanzo0@m.co\", \"Hanzo1@m.co\", \"Hanzo3@m.co\"], [\"Kevin\", \"Kevin0@m.co\", \"Kevin3@m.co\", \"Kevin5@m.co\"], [\"Fern\", \"Fern0@m.co\", \"Fern1@m.co\", \"Fern5@m.co\"]]), ([[\"John\", \"john@mail.com\"]], [[\"John\", \"john@mail.com\"]]), ([[\"John\", \"john1@mail.com\"], [\"John\", \"john2@mail.com\"], [\"John\", \"john3@mail.com\"]], [[\"John\", \"john1@mail.com\"], [\"John\", \"john2@mail.com\"], [\"John\", \"john3@mail.com\"]]), ([[\"John\", \"a@mail.com\", \"b@mail.com\"], [\"John\", \"b@mail.com\", \"c@mail.com\"], [\"John\", \"d@mail.com\"]], [[\"John\", \"a@mail.com\", \"b@mail.com\", \"c@mail.com\"], [\"John\", \"d@mail.com\"]]), ([[\"Alice\", \"alice@mail.com\", \"alice1@mail.com\"], [\"Alice\", \"alice2@mail.com\", \"alice3@mail.com\"], [\"Alice\", \"alice1@mail.com\", \"alice2@mail.com\"]], [[\"Alice\", \"alice1@mail.com\", \"alice2@mail.com\", \"alice3@mail.com\", \"alice@mail.com\"]]), ([[\"Bob\", \"bob@mail.com\"], [\"Bob\", \"bob@mail.com\"]], [[\"Bob\", \"bob@mail.com\"]]), ([[\"David\", \"david1@mail.com\", \"david2@mail.com\"], [\"David\", \"david3@mail.com\"], [\"David\", \"david2@mail.com\", \"david4@mail.com\"]], [[\"David\", \"david1@mail.com\", \"david2@mail.com\", \"david4@mail.com\"], [\"David\", \"david3@mail.com\"]]), ([[\"Alex\", \"alex@mail.com\"], [\"Alex\", \"alex@mail.com\", \"alex2@mail.com\"], [\"Alex\", \"alex3@mail.com\"]], [[\"Alex\", \"alex2@mail.com\", \"alex@mail.com\"], [\"Alex\", \"alex3@mail.com\"]]), ([[\"Tom\", \"tom1@mail.com\"], [\"Tom\", \"tom2@mail.com\"], [\"Tom\", \"tom3@mail.com\"], [\"Tom\", \"tom4@mail.com\"]], [[\"Tom\", \"tom1@mail.com\"], [\"Tom\", \"tom2@mail.com\"], [\"Tom\", \"tom3@mail.com\"], [\"Tom\", \"tom4@mail.com\"]]), ([[\"Sam\", \"sam@mail.com\", \"sam1@mail.com\", \"sam2@mail.com\"]], [[\"Sam\", \"sam@mail.com\", \"sam1@mail.com\", \"sam2@mail.com\"]])]",
4444
"body": " result = run_accounts_merge(Solution, accounts)\n assert_accounts_merge(result, expected)"
4545
}
4646
],

.templates/leetcode/json/balanced_binary_tree.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"name": "test_is_balanced",
5454
"signature": "(self, root_list: list[int | None], expected: bool)",
5555
"parametrize": "root_list, expected",
56-
"test_cases": "[([3, 9, 20, None, None, 15, 7], True), ([1, 2, 2, 3, 3, None, None, 4, 4], False), ([], True), ([1], True), ([1, 2], True), ([1, None, 2], True), ([1, 2, 3, 4], True), ([1, 2, 2, 3, None, None, 3, 4, None, None, 4], False)]",
56+
"test_cases": "[([3, 9, 20, None, None, 15, 7], True), ([1, 2, 2, 3, 3, None, None, 4, 4], False), ([], True), ([1], True), ([1, 2], True), ([1, None, 2], True), ([1, 2, 3, 4], True), ([1, 2, 2, 3, None, None, 3, 4, None, None, 4], False), ([1, 2, 3], True), ([1, 2, None, 3], False), ([1, None, 2, None, 3], False), ([1, 2, 3, 4, 5, 6, 7], True), ([1, 2, 3, None, None, 4, None, None, 5], False), ([5, 1, 4, None, None, 3, 6], True), ([1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, None, None, 5, 5], True)]",
5757
"body": " result = run_is_balanced(Solution, root_list)\n assert_is_balanced(result, expected)"
5858
}
5959
]

.templates/leetcode/json/best_time_to_buy_and_sell_stock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"name": "test_max_profit",
5353
"signature": "(self, prices: list[int], expected: int)",
5454
"parametrize": "prices, expected",
55-
"test_cases": "[([7, 1, 5, 3, 6, 4], 5), ([7, 6, 4, 3, 1], 0), ([1, 2, 3, 4, 5], 4), ([5, 4, 3, 2, 1], 0), ([1], 0), ([2, 1], 0), ([1, 2], 1), ([3, 2, 6, 5, 0, 3], 4)]",
55+
"test_cases": "[([7, 1, 5, 3, 6, 4], 5), ([7, 6, 4, 3, 1], 0), ([1, 2, 3, 4, 5], 4), ([5, 4, 3, 2, 1], 0), ([1], 0), ([2, 1], 0), ([1, 2], 1), ([3, 2, 6, 5, 0, 3], 4), ([2, 4, 1], 2), ([1, 5, 3, 6, 4], 5), ([10, 1, 5, 6, 7, 1], 6), ([6, 1, 3, 2, 4, 7], 6), ([1, 4, 2], 3), ([3, 3, 5, 0, 0, 3, 1, 4], 4), ([2, 1, 2, 1, 0, 1, 2], 2)]",
5656
"body": " result = run_max_profit(Solution, prices)\n assert_max_profit(result, expected)"
5757
}
5858
]

.templates/leetcode/json/binary_tree_right_side_view.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
"name": "test_right_side_view",
5555
"signature": "(self, root_list: list[int | None], expected: list[int])",
5656
"parametrize": "root_list, expected",
57-
"test_cases": "[([1, 2, 3, None, 5, None, 4], [1, 3, 4]), ([1, 2, 3, 4, None, None, None, 5], [1, 3, 4, 5]), ([1, None, 3], [1, 3]), ([], []), ([1], [1]), ([1, 2], [1, 2]), ([1, None, 2], [1, 2])]",
57+
"test_cases": "[([1, 2, 3, None, 5, None, 4], [1, 3, 4]), ([1, 2, 3, 4, None, None, None, 5], [1, 3, 4, 5]), ([1, None, 3], [1, 3]), ([], []), ([1], [1]), ([1, 2], [1, 2]), ([1, None, 2], [1, 2]), ([1, 2, 3], [1, 3]), ([1, 2, None, 4], [1, 2, 4]), ([1, 2, 3, 4, 5, 6, 7], [1, 3, 7]), ([1, 2, 3, None, None, 4, 5], [1, 3, 5]), ([5, 4, 6, None, None, None, 7], [5, 6, 7]), ([1, 2, 3, 4, 5, None, None, 8], [1, 3, 5, 8]), ([10, 5, 15, None, 6, 12, 20], [10, 15, 20])]",
5858
"body": " result = run_right_side_view(Solution, root_list)\n assert_right_side_view(result, expected)"
5959
}
6060
]

.templates/leetcode/json/climbing_stairs.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"name": "test_climb_stairs",
5353
"signature": "(self, n: int, expected: int)",
5454
"parametrize": "n, expected",
55-
"test_cases": "[(1, 1), (2, 2), (3, 3), (4, 5), (5, 8), (6, 13), (10, 89), (20, 10946), (45, 1836311903)]",
55+
"test_cases": "[(1, 1), (2, 2), (3, 3), (4, 5), (5, 8), (6, 13), (7, 21), (8, 34), (9, 55), (10, 89), (15, 987), (20, 10946), (25, 121393), (30, 1346269), (35, 14930352), (40, 165580141), (45, 1836311903)]",
5656
"body": " result = run_climb_stairs(Solution, n)\n assert_climb_stairs(result, expected)"
5757
}
5858
]

.templates/leetcode/json/coin_change.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"name": "test_coin_change",
5252
"signature": "(self, coins: list[int], amount: int, expected: int)",
5353
"parametrize": "coins, amount, expected",
54-
"test_cases": "[([1, 2, 5], 11, 3), ([2], 3, -1), ([1], 0, 0), ([1, 3, 4], 6, 2), ([2, 5, 10, 1], 27, 4), ([5], 3, -1), ([1], 1, 1), ([1, 2], 2, 1), ([186, 419, 83, 408], 6249, 20)]",
54+
"test_cases": "[([1, 2, 5], 11, 3), ([2], 3, -1), ([1], 0, 0), ([1, 3, 4], 6, 2), ([2, 5, 10, 1], 27, 4), ([5], 3, -1), ([1], 1, 1), ([1, 2], 2, 1), ([186, 419, 83, 408], 6249, 20), ([1, 5, 10, 25], 30, 2), ([2, 3, 5], 9, 3), ([1, 4, 5], 8, 2), ([3, 5], 1, -1), ([1, 2, 5], 100, 20), ([7, 11], 14, 2)]",
5555
"body": " result = run_coin_change(Solution, coins, amount)\n assert_coin_change(result, expected)"
5656
}
5757
]

.templates/leetcode/json/combination_sum.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"name": "test_combination_sum",
5454
"signature": "(self, candidates: list[int], target: int, expected: list[list[int]])",
5555
"parametrize": "candidates, target, expected",
56-
"test_cases": "[([2, 3, 6, 7], 7, [[2, 2, 3], [7]]), ([2, 3, 5], 8, [[2, 2, 2, 2], [2, 3, 3], [3, 5]]), ([2], 1, [])]",
56+
"test_cases": "[([2, 3, 6, 7], 7, [[2, 2, 3], [7]]), ([2, 3, 5], 8, [[2, 2, 2, 2], [2, 3, 3], [3, 5]]), ([2], 1, []), ([2, 3], 1, []), ([3, 5], 3, [[3]]), ([2, 4], 6, [[2, 2, 2], [2, 4]]), ([5], 5, [[5]]), ([2, 3, 4], 6, [[2, 2, 2], [2, 4], [3, 3]]), ([4, 2, 8], 8, [[2, 2, 2, 2], [2, 2, 4], [4, 4], [8]]), ([3, 4, 5], 9, [[3, 3, 3], [4, 5]]), ([6, 3, 2], 6, [[2, 2, 2], [3, 3], [6]]), ([2, 7], 9, [[2, 7]])]",
5757
"body": " result = run_combination_sum(Solution, candidates, target)\n assert_combination_sum(result, expected)"
5858
}
5959
]

.templates/leetcode/json/container_with_most_water.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"name": "test_max_area",
5151
"signature": "(self, height: list[int], expected: int)",
5252
"parametrize": "height, expected",
53-
"test_cases": "[([1,8,6,2,5,4,8,3,7], 49), ([1,1], 1), ([1,2,1], 2)]",
53+
"test_cases": "[([1,8,6,2,5,4,8,3,7], 49), ([1,1], 1), ([1,2,1], 2), ([2,1], 1), ([1,2,4,3], 4), ([1,3,2,5,25,24,5], 24), ([2,3,4,5,18,17,6], 17), ([1,2,3,4,5], 6), ([5,4,3,2,1], 6), ([0,2], 0), ([3,9,3,4,7,2,12,6], 45), ([1,0,0,0,0,0,0,2,2], 8)]",
5454
"body": " result = run_max_area(Solution, height)\n assert_max_area(result, expected)"
5555
}
5656
]

0 commit comments

Comments
 (0)