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