2525 load_tasks ,
2626 main ,
2727)
28- from src .domain import Example , Solution , Task
28+ from src .domain import Solution , Task
2929
3030
3131class TestLoadTasksValidJSON :
@@ -1148,15 +1148,13 @@ class TestSetupLogging:
11481148
11491149 def test_debug_mode (self ) -> None :
11501150 """Debug mode should set DEBUG level."""
1151- import logging
11521151 _setup_logging (verbose = False , debug = True )
11531152 # Check that debug mode was set (may not be directly testable)
11541153 # Just ensure it runs without error
11551154 assert True
11561155
11571156 def test_verbose_mode (self ) -> None :
11581157 """Verbose mode should set INFO level."""
1159- import logging
11601158 _setup_logging (verbose = True , debug = False )
11611159
11621160
@@ -1169,7 +1167,7 @@ def test_list_tasks_function(
11691167 """_list_tasks should display tasks grouped by difficulty."""
11701168 from src .cli import _list_tasks
11711169 from src .domain import Example
1172-
1170+
11731171 tasks = [
11741172 Task (
11751173 id = "basic-task" ,
@@ -1187,9 +1185,9 @@ def test_list_tasks_function(
11871185 examples = [Example (input_data = [], expected_output = [])],
11881186 ),
11891187 ]
1190-
1188+
11911189 _list_tasks (tasks )
1192-
1190+
11931191 captured = capsys .readouterr ()
11941192 assert "Available Tasks" in captured .out
11951193 assert "basic-task" in captured .out
@@ -1205,17 +1203,17 @@ def test_list_tasks_with_long_description(
12051203 """_list_tasks should truncate long descriptions."""
12061204 from src .cli import _list_tasks
12071205 from src .domain import Example
1208-
1206+
12091207 tasks = [
12101208 Task (
12111209 id = "long-desc" ,
12121210 description = "A" * 100 , # Very long description
12131211 examples = [Example (input_data = {}, expected_output = {})],
12141212 ),
12151213 ]
1216-
1214+
12171215 _list_tasks (tasks )
1218-
1216+
12191217 captured = capsys .readouterr ()
12201218 # Should be truncated to 60 chars + "..."
12211219 assert "..." in captured .out
@@ -1226,17 +1224,17 @@ def test_list_tasks_single_example(
12261224 """_list_tasks should handle singular 'example' correctly."""
12271225 from src .cli import _list_tasks
12281226 from src .domain import Example
1229-
1227+
12301228 tasks = [
12311229 Task (
12321230 id = "single" ,
12331231 description = "Test" ,
12341232 examples = [Example (input_data = {}, expected_output = {})],
12351233 ),
12361234 ]
1237-
1235+
12381236 _list_tasks (tasks )
1239-
1237+
12401238 captured = capsys .readouterr ()
12411239 assert "1 example" in captured .out
12421240 assert "1 examples" not in captured .out
@@ -1247,7 +1245,7 @@ def test_list_tasks_multiple_examples(
12471245 """_list_tasks should handle plural 'examples' correctly."""
12481246 from src .cli import _list_tasks
12491247 from src .domain import Example
1250-
1248+
12511249 tasks = [
12521250 Task (
12531251 id = "multiple" ,
@@ -1258,9 +1256,9 @@ def test_list_tasks_multiple_examples(
12581256 ],
12591257 ),
12601258 ]
1261-
1259+
12621260 _list_tasks (tasks )
1263-
1261+
12641262 captured = capsys .readouterr ()
12651263 assert "2 examples" in captured .out
12661264
@@ -1335,7 +1333,7 @@ class TestPrintSummaryTable:
13351333 def test_all_passed (self , capsys : pytest .CaptureFixture ) -> None :
13361334 """Summary should show success when all tasks pass."""
13371335 from src .cli import _print_summary_table
1338-
1336+
13391337 solutions = [
13401338 Solution (
13411339 task_id = "task1" ,
@@ -1354,9 +1352,9 @@ def test_all_passed(self, capsys: pytest.CaptureFixture) -> None:
13541352 history = [],
13551353 ),
13561354 ]
1357-
1355+
13581356 _print_summary_table (solutions )
1359-
1357+
13601358 captured = capsys .readouterr ()
13611359 assert "2/2 passed (100%)" in captured .out
13621360
@@ -1392,7 +1390,7 @@ def test_all_failed(self, capsys: pytest.CaptureFixture) -> None:
13921390 def test_partial_success (self , capsys : pytest .CaptureFixture ) -> None :
13931391 """Summary should show warning when some tasks fail."""
13941392 from src .cli import _print_summary_table
1395-
1393+
13961394 solutions = [
13971395 Solution (
13981396 task_id = "task1" ,
@@ -1411,9 +1409,9 @@ def test_partial_success(self, capsys: pytest.CaptureFixture) -> None:
14111409 history = [],
14121410 ),
14131411 ]
1414-
1412+
14151413 _print_summary_table (solutions )
1416-
1414+
14171415 captured = capsys .readouterr ()
14181416 assert "1/2 passed (50%)" in captured .out
14191417
@@ -1474,7 +1472,7 @@ def test_print_result_without_verbose(
14741472 """Task result should be printed without history when not verbose."""
14751473 from src .cli import _print_solution
14761474 from src .domain import Attempt , ErrorType , ExampleResult
1477-
1475+
14781476 solution = Solution (
14791477 task_id = "test" ,
14801478 success = True ,
@@ -1499,9 +1497,9 @@ def test_print_result_without_verbose(
14991497 )
15001498 ],
15011499 )
1502-
1500+
15031501 _print_solution (solution , verbose = False )
1504-
1502+
15051503 captured = capsys .readouterr ()
15061504 assert "test" in captured .out
15071505 assert ".x" in captured .out
@@ -1515,7 +1513,7 @@ def test_print_result_with_verbose(
15151513 """Task result should include history when verbose."""
15161514 from src .cli import _print_solution
15171515 from src .domain import Attempt , ErrorType , ExampleResult
1518-
1516+
15191517 solution = Solution (
15201518 task_id = "test" ,
15211519 success = True ,
@@ -1555,9 +1553,9 @@ def test_print_result_with_verbose(
15551553 ),
15561554 ],
15571555 )
1558-
1556+
15591557 _print_solution (solution , verbose = True )
1560-
1558+
15611559 captured = capsys .readouterr ()
15621560 # History SHOULD be shown
15631561 assert "History" in captured .out or "[0]" in captured .out or "[1]" in captured .out
@@ -1569,20 +1567,20 @@ class TestVerboseOutput:
15691567 def test_parse_verbose_flag (self ) -> None :
15701568 """Verbose flag should be parsed correctly."""
15711569 from src .cli import _parse_args
1572-
1570+
15731571 args = _parse_args (["--task" , "test" , "--verbose" ])
15741572 assert args .verbose is True
15751573
15761574 def test_parse_verbose_short_flag (self ) -> None :
15771575 """Short verbose flag should be parsed correctly."""
15781576 from src .cli import _parse_args
1579-
1577+
15801578 args = _parse_args (["--task" , "test" , "-v" ])
15811579 assert args .verbose is True
15821580
15831581 def test_verbose_default_false (self ) -> None :
15841582 """Verbose should default to False."""
15851583 from src .cli import _parse_args
1586-
1584+
15871585 args = _parse_args (["--task" , "test" ])
15881586 assert args .verbose is False
0 commit comments