advent-of-code/2017-python/tests/day_10_tests.py

40 lines
1.4 KiB
Python

import unittest
from solutions.day_10 import Solution
class Day10TestCase(unittest.TestCase):
def setUp(self):
self.solution = Solution()
def test_process_and_check(self):
self.solution.reset(5)
self.solution.reverse(3)
assert self.solution.list == [2, 1, 0, 3, 4]
assert self.solution.skip_size == 1
assert self.solution.pos == 3
self.solution.reverse(4)
assert self.solution.list == [4, 3, 0, 1, 2]
assert self.solution.skip_size == 2
assert self.solution.pos == 3
self.solution.reverse(1)
assert self.solution.list == [4, 3, 0, 1, 2]
assert self.solution.skip_size == 3
assert self.solution.pos == 1
self.solution.reverse(5)
assert self.solution.list == [3, 4, 2, 1, 0]
assert self.solution.skip_size == 4
assert self.solution.pos == 4
assert self.solution.solve("3,4,1,5", r=5) == 12
def test_dense_hash(self):
assert self.solution.solve_again("") == "a2582a3a0e66e6e86e3812dcb672a272"
assert (
self.solution.solve_again("AoC 2017") == "33efeb34ea91902bb2f59c9920caa6cd"
)
assert self.solution.solve_again("1,2,3") == "3efbe78a8d82f29979031a4aa0b16a9d"
assert self.solution.solve_again("1,2,4") == "63960835bcdc130f0b66d7ff4f6a5a8e"
if __name__ == "__main__":
unittest.main()