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