advent-of-code/2017-python/tests/day_09_tests.py
2021-11-01 16:45:03 +01:00

31 lines
1.1 KiB
Python

import unittest
from solutions.day_09 import Solution
class Day9TestCase(unittest.TestCase):
def setUp(self):
self.solution = Solution()
def test_calculates_score(self):
assert self.solution.solve('{}') == 1
assert self.solution.solve('{{{}}}') == 6
assert self.solution.solve('{{},{}}') == 5
assert self.solution.solve('{{{},{},{{}}}}') == 16
assert self.solution.solve('{<a>,<a>,<a>,<a>}') == 1
assert self.solution.solve('{{<ab>},{<ab>},{<ab>},{<ab>}}') == 9
assert self.solution.solve('{{<!!>},{<!!>},{<!!>},{<!!>}}') == 9
assert self.solution.solve('{{<a!>},{<a!>},{<a!>},{<ab>}}') == 3
def test_count_garbage(self):
assert self.solution.solve_again('<>') == 0
assert self.solution.solve_again('<random characters>') == 17
assert self.solution.solve_again('<<<<>') == 3
assert self.solution.solve_again('<{!>}>') == 2
assert self.solution.solve_again('<!!>') == 0
assert self.solution.solve_again('<!!!>>') == 0
assert self.solution.solve_again('<{o"i!a,<{i<a>') == 10
if __name__ == '__main__':
unittest.main()