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