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('{,,,}') == 1
assert self.solution.solve('{{},{},{},{}}') == 9
assert self.solution.solve('{{},{},{},{}}') == 9
assert self.solution.solve('{{},{},{},{}}') == 3
def test_count_garbage(self):
assert self.solution.solve_again('<>') == 0
assert self.solution.solve_again('') == 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') == 10
if __name__ == '__main__':
unittest.main()