Exemplo n.º 1
0
 def test_part2(self):
     inputs = [
         "<>", "<random characters>", "<<<<>", "<{!>}>", "<!!>", "<!!!>>",
         "<{o\"i!a,<{i<a>"
     ]
     outputs = [0, 17, 3, 2, 0, 0, 10]
     for input, output in zip(inputs, outputs):
         actual = Day09.solve_part2(input)
         self.assertEqual(
             actual, output,
             f"input={input}, expected={output}, actual={actual}")
Exemplo n.º 2
0
 def test_part1(self):
     inputs = [
         "{}", "{{{}}}", "{{},{}}", "{{{},{},{{}}}}", "{<{},{},{{}}>}",
         "{<a>,<a>,<a>,<a>}", "{{<ab>},{<ab>},{<ab>},{<ab>}}",
         "{{<a>},{<a>},{<a>},{<a>}}", "{{<!>},{<!>},{<!>},{<a>}}"
     ]
     outputs = [1, 6, 5, 16, 1, 1, 9, 9, 3]
     for input, output in zip(inputs, outputs):
         actual = Day09.solve_part1(input)
         self.assertEqual(
             actual, output,
             f"input={input}, expected={output}, actual={actual}")
Exemplo n.º 3
0
 def test_part1(self):
     inputs = [
         "ADVENT", "A(1x5)BC", "(3x3)XYZ", "A(2x2)BCD(2x2)EFG",
         "(6x1)(1x3)A", "X(8x2)(3x3)ABCY"
     ]
     outputs = [6, 7, 9, 11, 6, 18]
     for i, (input, output) in enumerate(zip(inputs, outputs)):
         actual = Day09.solve_part1(input)
         self.assertEqual(
             actual, output,
             f"Failed part 1 test #{i+1}: input={input}, expected={output}, actual={actual}"
         )
Exemplo n.º 4
0
 def test_part2(self):
     inputs = [
         "(3x3)XYZ", "X(8x2)(3x3)ABCY",
         "(27x12)(20x12)(13x14)(7x10)(1x12)A",
         "(25x3)(3x3)ABC(2x3)XY(5x2)PQRSTX(18x9)(3x2)TWO(5x7)SEVEN"
     ]
     outputs = [9, 20, 241920, 445]
     for i, (input, output) in enumerate(zip(inputs, outputs)):
         actual = Day09.solve_part2(input)
         self.assertEqual(
             actual, output,
             f"Failed part 2 test #{i+1}: input={input}, expected={output}, actual={actual}"
         )
Exemplo n.º 5
0
 def test_part1(self):
     self.assertEqual(Day09.solve_part1(self.input, 5), 127)
Exemplo n.º 6
0
 def setUp(self):
     self.input = Day09().read_file("tests/test_day09.txt")
Exemplo n.º 7
0
 def test_part1(self):
     self.assertEqual(Day09.solve_part1(self.input), 605)
Exemplo n.º 8
0
 def test_part2(self):
     self.assertEqual(Day09.solve_part2(self.input), 982)