55 calculate_largest_joltage ,
66 parse_battery_bank_to_ints_list ,
77 combine_joltages ,
8+ calculate_largest_joltage_part_2 ,
89)
910
1011
@@ -20,29 +21,38 @@ def day_03_test_input():
2021
2122@pytest .fixture
2223def day_03_expected_output ():
23- return (357 , None )
24+ return (357 , 3121910778619 )
2425
2526
2627def test_solver (day_03_test_input , day_03_expected_output ):
2728 result = solve (day_03_test_input )
2829 assert result == day_03_expected_output
2930
30- @pytest .mark .parametrize (
31- "input, expected_output" ,
32- [
33- [[9 ,8 ,7 ,6 ,5 ,4 ,3 ,2 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ],98 ],
34- [[8 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,9 ],89 ],
35- [[2 ,3 ,4 ,2 ,3 ,4 ,2 ,3 ,4 ,2 ,3 ,4 ,2 ,7 ,8 ],78 ],
36- [[8 ,1 ,8 ,1 ,8 ,1 ,9 ,1 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ],92 ],
37- ],
38- )
39- def test_calculate_largest_joltage (input , expected_output ):
40- parsed_inputs = parse_battery_bank_to_ints_list (input )
41- assert expected_output == calculate_largest_joltage (parsed_inputs )
31+
32+
33+ @pytest .fixture
34+ def test_calculate_largest_joltage_params ():
35+ return [
36+ ("987654321111111" , 98 , 987654321111 ),
37+ ("811111111111119" , 89 , 811111111119 ),
38+ ("234234234234278" , 78 , 434234234278 ),
39+ ("818181911112111" , 92 , 888911112111 ),
40+ ]
41+
42+ def test_calculate_largest_joltage_part_1 (test_calculate_largest_joltage_params ):
43+ for input_str , expected_output , _ in test_calculate_largest_joltage_params :
44+ parsed_inputs = parse_battery_bank_to_ints_list (input_str )
45+ assert expected_output == calculate_largest_joltage (parsed_inputs )
46+
47+
48+ def test_calculate_largest_joltage_part_2 (test_calculate_largest_joltage_params ):
49+ for input_str , _ , expected_output in test_calculate_largest_joltage_params :
50+ parsed_inputs = parse_battery_bank_to_ints_list (input_str )
51+ assert expected_output == calculate_largest_joltage_part_2 (parsed_inputs )
4252
4353
4454def test_parse_battery_bank_to_ints_list ():
4555 assert parse_battery_bank_to_ints_list ("98765" ) == [9 ,8 ,7 ,6 ,5 ]
4656
4757def test_combine_joltages ():
48- assert combine_joltages (9 , 8 ) == 98
58+ assert combine_joltages ([ 9 , 8 , 7 ] ) == 987
0 commit comments