Exemple #1
0
    def test_part_1(self):
        puzzle_input = [0, 2, 7, 0]

        loops, resurface = solve_part_1_and_2(puzzle_input)

        self.assertEqual(loops, 5)
        self.assertEqual(resurface, 4)
Exemple #2
0
    def test_solve_part_1_and_2(self):
        lines = [
            'b inc 5 if a > 1', 'a inc 1 if b < 5', 'c dec -10 if a >= 1',
            'c inc -20 if c == 10'
        ]

        self.assertEqual(solve_part_1_and_2(lines), (1, 10))
Exemple #3
0
 def test_solve_part_1_example_2(self):
     self.assertEqual(solve_part_1_and_2(['ne', 'ne', 'sw', 'sw'])[0], 0)
Exemple #4
0
 def test_solve_part_1_example_1(self):
     self.assertEqual(solve_part_1_and_2('{}')[0], 1)
Exemple #5
0
 def test_solve_part_1_example_2(self):
     self.assertEqual(solve_part_1_and_2('{{{}}}')[0], 6)
Exemple #6
0
 def test_solve_part_2_example_6(self):
     self.assertEqual(solve_part_1_and_2('<!!!>>')[1], 0)
Exemple #7
0
 def test_solve_part_2_example_7(self):
     self.assertEqual(solve_part_1_and_2('<{o"i!a,<{i<a>')[1], 10)
Exemple #8
0
 def test_solve_part_2_example_4(self):
     self.assertEqual(solve_part_1_and_2('<{!>}>')[1], 2)
Exemple #9
0
 def test_solve_part_2_example_3(self):
     self.assertEqual(solve_part_1_and_2('<<<<>')[1], 3)
Exemple #10
0
 def test_solve_part_2_example_2(self):
     self.assertEqual(solve_part_1_and_2('<random characters>')[1], 17)
Exemple #11
0
 def test_solve_part_1_example_8(self):
     self.assertEqual(solve_part_1_and_2('{{<a!>},{<a!>},{<a!>},{<ab>}}')[0], 3)
Exemple #12
0
 def test_solve_part_1_example_7(self):
     self.assertEqual(solve_part_1_and_2('{{<!!>},{<!!>},{<!!>},{<!!>}}')[0], 9)