37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
import unittest
|
|
|
|
from solutions.day_04 import Solution
|
|
|
|
|
|
class Day04TestCase(unittest.TestCase):
|
|
def setUp(self):
|
|
self.solution = Solution()
|
|
self.puzzle_input = '\n'.join([
|
|
'[1518-11-01 00:00] Guard #10 begins shift',
|
|
'[1518-11-01 00:05] falls asleep',
|
|
'[1518-11-01 00:25] wakes up',
|
|
'[1518-11-01 00:30] falls asleep',
|
|
'[1518-11-01 00:55] wakes up',
|
|
'[1518-11-01 23:58] Guard #99 begins shift',
|
|
'[1518-11-02 00:40] falls asleep',
|
|
'[1518-11-02 00:50] wakes up',
|
|
'[1518-11-03 00:05] Guard #10 begins shift',
|
|
'[1518-11-03 00:24] falls asleep',
|
|
'[1518-11-03 00:29] wakes up',
|
|
'[1518-11-04 00:02] Guard #99 begins shift',
|
|
'[1518-11-04 00:36] falls asleep',
|
|
'[1518-11-04 00:46] wakes up',
|
|
'[1518-11-05 00:03] Guard #99 begins shift',
|
|
'[1518-11-05 00:45] falls asleep',
|
|
'[1518-11-05 00:55] wakes up',
|
|
])
|
|
|
|
def test_most_sleeping_guard(self):
|
|
assert self.solution.solve(self.puzzle_input) == 240 # 10 * 24
|
|
|
|
def test_frequent_sleeping_guard(self):
|
|
assert self.solution.solve_again(self.puzzle_input) == 4455 # 99 * 45
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|