import unittest from solutions.day_04 import Solution class Day04TestCase(unittest.TestCase): def setUp(self): self.solution = Solution() self.puzzle_input = self.solution.parse_input( """ 7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1 22 13 17 11 0 8 2 23 4 24 21 9 14 16 7 6 10 3 18 5 1 12 20 15 19 3 15 0 2 22 9 18 13 17 5 19 8 7 25 23 20 11 10 24 4 14 21 16 12 6 14 21 17 24 4 10 16 15 9 19 18 8 23 26 20 22 11 13 6 5 2 0 12 3 7 """ ) def test_parse_puzzle_input(self): data = """ 7,4,9 22 13 17 11 0 8 2 23 4 24 3 15 0 2 22 9 18 13 17 5 """ assert self.solution.parse_input(data) == ( [7, 4, 9], [ [[22, 13, 17, 11, 0], [8, 2, 23, 4, 24]], [[3, 15, 0, 2, 22], [9, 18, 13, 17, 5]], ], ) def test_solve_first_part(self): assert self.solution.solve(self.puzzle_input) == 188 * 24 def test_solve_second_part(self): assert self.solution.solve_again(self.puzzle_input) == 148 * 13 if __name__ == "__main__": unittest.main()