@@ -9,27 +9,45 @@ class TestCountTestCasesForProblem:
9
9
"json_data, expected" ,
10
10
[
11
11
(
12
- {"test_methods" : [{"test_cases" : "[(1, 2, 3), (4, 5, 6)]" }, {"test_cases" : "[(7, 8)]" }]},
12
+ {
13
+ "test_methods" : [
14
+ {"test_cases" : {"list" : ["(1, 2, 3)" , "(4, 5, 6)" ]}},
15
+ {"test_cases" : {"list" : ["(7, 8)" ]}},
16
+ ]
17
+ },
13
18
3 ,
14
19
),
15
20
(
16
21
{
17
22
"_test_methods" : {
18
23
"list" : [
19
- {"test_cases" : "[ (1, 2), (3, 4), (5, 6)]" },
20
- {"test_cases" : "[ (7, 8, 9)]" },
24
+ {"test_cases" : { "list" : [ " (1, 2)" , " (3, 4)" , " (5, 6)" ]} },
25
+ {"test_cases" : { "list" : [ " (7, 8, 9)" ]} },
21
26
]
22
27
}
23
28
},
24
29
4 ,
25
30
),
26
- ({"test_methods" : [{"test_cases" : "[]" }, {"test_cases" : "" }, {"test_cases" : " " }]}, 0 ),
31
+ (
32
+ {
33
+ "test_methods" : [
34
+ {"test_cases" : {"list" : []}},
35
+ {"test_cases" : "" },
36
+ {"test_cases" : " " },
37
+ ]
38
+ },
39
+ 0 ,
40
+ ),
27
41
({}, 0 ),
28
42
(
29
43
{
30
44
"test_methods" : [
31
- {"test_cases" : "[([1, 2], 'hello', True), ([3, 4], 'world', False)]" },
32
- {"test_cases" : "[([], '', None)]" },
45
+ {
46
+ "test_cases" : {
47
+ "list" : ["([1, 2], 'hello', True)" , "([3, 4], 'world', False)" ]
48
+ }
49
+ },
50
+ {"test_cases" : {"list" : ["([], '', None)" ]}},
33
51
]
34
52
},
35
53
3 ,
@@ -39,16 +57,21 @@ class TestCountTestCasesForProblem:
39
57
def test_count_test_cases (self , json_data , expected ):
40
58
assert count_test_cases_for_problem (json_data ) == expected
41
59
42
- def test_invalid_test_cases_raises_error (self ):
60
+ def test_invalid_test_cases_returns_zero (self ):
61
+ """Test that invalid test cases are ignored and return 0."""
43
62
json_data = {"test_methods" : [{"test_cases" : "invalid python literal" }]}
44
- with pytest . raises (( ValueError , SyntaxError )):
45
- count_test_cases_for_problem (json_data )
63
+ # Current implementation ignores invalid test cases and returns 0
64
+ assert count_test_cases_for_problem (json_data ) == 0
46
65
47
66
def test_python_expressions_in_test_cases (self ):
48
67
"""Test that Python expressions like 'string' * 100 are handled correctly."""
49
68
json_data = {
50
69
"test_methods" : [
51
- {"test_cases" : "[('input', 'expected'), ('100[leetcode]', 'leetcode' * 100)]" }
70
+ {
71
+ "test_cases" : {
72
+ "list" : ["('input', 'expected')" , "('100[leetcode]', 'leetcode' * 100)" ]
73
+ }
74
+ }
52
75
]
53
76
}
54
77
# Should not raise an error and should count 2 test cases
0 commit comments