38 lines
1.4 KiB
Python
38 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()
|