60 lines
2.2 KiB
Python
60 lines
2.2 KiB
Python
|
|
import unittest
|
||
|
|
|
||
|
|
from solutions.day_10 import Solution
|
||
|
|
|
||
|
|
|
||
|
|
class Day10TestCase(unittest.TestCase):
|
||
|
|
def setUp(self):
|
||
|
|
self.solution = Solution()
|
||
|
|
|
||
|
|
def test_reveal_message(self):
|
||
|
|
puzzle_input = '\n'.join([
|
||
|
|
'position=< 9, 1> velocity=< 0, 2>',
|
||
|
|
'position=< 7, 0> velocity=<-1, 0>',
|
||
|
|
'position=< 3, -2> velocity=<-1, 1>',
|
||
|
|
'position=< 6, 10> velocity=<-2, -1>',
|
||
|
|
'position=< 2, -4> velocity=< 2, 2>',
|
||
|
|
'position=<-6, 10> velocity=< 2, -2>',
|
||
|
|
'position=< 1, 8> velocity=< 1, -1>',
|
||
|
|
'position=< 1, 7> velocity=< 1, 0>',
|
||
|
|
'position=<-3, 11> velocity=< 1, -2>',
|
||
|
|
'position=< 7, 6> velocity=<-1, -1>',
|
||
|
|
'position=<-2, 3> velocity=< 1, 0>',
|
||
|
|
'position=<-4, 3> velocity=< 2, 0>',
|
||
|
|
'position=<10, -3> velocity=<-1, 1>',
|
||
|
|
'position=< 5, 11> velocity=< 1, -2>',
|
||
|
|
'position=< 4, 7> velocity=< 0, -1>',
|
||
|
|
'position=< 8, -2> velocity=< 0, 1>',
|
||
|
|
'position=<15, 0> velocity=<-2, 0>',
|
||
|
|
'position=< 1, 6> velocity=< 1, 0>',
|
||
|
|
'position=< 8, 9> velocity=< 0, -1>',
|
||
|
|
'position=< 3, 3> velocity=<-1, 1>',
|
||
|
|
'position=< 0, 5> velocity=< 0, -1>',
|
||
|
|
'position=<-2, 2> velocity=< 2, 0>',
|
||
|
|
'position=< 5, -2> velocity=< 1, 2>',
|
||
|
|
'position=< 1, 4> velocity=< 2, 1>',
|
||
|
|
'position=<-2, 7> velocity=< 2, -2>',
|
||
|
|
'position=< 3, 6> velocity=<-1, -1>',
|
||
|
|
'position=< 5, 0> velocity=< 1, 0>',
|
||
|
|
'position=<-6, 0> velocity=< 2, 0>',
|
||
|
|
'position=< 5, 9> velocity=< 1, -2>',
|
||
|
|
'position=<14, 7> velocity=<-2, 0>',
|
||
|
|
'position=<-3, 6> velocity=< 2, -1>',
|
||
|
|
])
|
||
|
|
expected = '\n'.join([
|
||
|
|
'#...#..###',
|
||
|
|
'#...#...#.',
|
||
|
|
'#...#...#.',
|
||
|
|
'#####...#.',
|
||
|
|
'#...#...#.',
|
||
|
|
'#...#...#.',
|
||
|
|
'#...#...#.',
|
||
|
|
'#...#..###',
|
||
|
|
])
|
||
|
|
print(self.solution.render(puzzle_input, 3))
|
||
|
|
assert self.solution.render(puzzle_input, 3) == expected
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
unittest.main()
|