-
Notifications
You must be signed in to change notification settings - Fork 3
/
day05_test.py
executable file
·123 lines (110 loc) · 3.49 KB
/
day05_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/usr/bin/env python
from unittest import TestCase, main
from day05 import solve1, parse, digit_from_right
class Day05TestCase(TestCase):
def test_digit_from_right(self):
self.assertEqual(digit_from_right(12345, 0), 5)
self.assertEqual(digit_from_right(12345, 1), 4)
self.assertEqual(digit_from_right(12345, 2), 3)
self.assertEqual(digit_from_right(12345, 3), 2)
self.assertEqual(digit_from_right(12345, 4), 1)
self.assertEqual(digit_from_right(12345, 5), 0)
self.assertEqual(digit_from_right(498, 0), 8)
self.assertEqual(digit_from_right(498, 1), 9)
self.assertEqual(digit_from_right(498, 2), 4)
self.assertEqual(digit_from_right(498, 3), 0)
self.assertEqual(digit_from_right(498, 4), 0)
self.assertEqual(digit_from_right(498, 5), 0)
def test_part1(self):
file_data = parse("../input.txt")
got = solve1(file_data, [1])
want = [0, 0, 0, 0, 0, 0, 0, 0, 0, 5821753]
self.assertEqual(want, got)
def test_part2(self):
file_data = parse("../input.txt")
got = solve1(file_data, [5])
want = [11956381]
self.assertEqual(want, got)
def test_8_1(self):
program = [3, 9, 8, 9, 10, 9, 4, 9, 99, -1, 8]
self.assertEqual(solve1(program, [7]), [0])
self.assertEqual(solve1(program, [8]), [1])
self.assertEqual(solve1(program, [9]), [0])
def test_8_2(self):
program = [3, 9, 7, 9, 10, 9, 4, 9, 99, -1, 8]
self.assertEqual(solve1(program, [7]), [1])
self.assertEqual(solve1(program, [8]), [0])
self.assertEqual(solve1(program, [9]), [0])
def test_8_3(self):
program = [3, 3, 1108, -1, 8, 3, 4, 3, 99]
self.assertEqual(solve1(program, [7]), [0])
self.assertEqual(solve1(program, [8]), [1])
self.assertEqual(solve1(program, [9]), [0])
def test_8_4(self):
program = [3, 3, 1107, -1, 8, 3, 4, 3, 99]
self.assertEqual(solve1(program, [7]), [1])
self.assertEqual(solve1(program, [8]), [0])
self.assertEqual(solve1(program, [9]), [0])
def test_jump_1(self):
program = [3, 12, 6, 12, 15, 1, 13, 14, 13, 4, 13, 99, -1, 0, 1, 9]
self.assertEqual(solve1(program, [0]), [0])
self.assertEqual(solve1(program, [10]), [1])
def test_jump_2(self):
program = [3, 3, 1105, -1, 9, 1101, 0, 0, 12, 4, 12, 99, 1]
self.assertEqual(solve1(program, [0]), [0])
self.assertEqual(solve1(program, [10]), [1])
def test_larger(self):
program = [
3,
21,
1008,
21,
8,
20,
1005,
20,
22,
107,
8,
21,
20,
1006,
20,
31,
1106,
0,
36,
98,
0,
0,
1002,
21,
125,
20,
4,
20,
1105,
1,
46,
104,
999,
1105,
1,
46,
1101,
1000,
1,
20,
4,
20,
1105,
1,
46,
98,
99,
]
self.assertEqual(solve1(program, [2]), [999])
self.assertEqual(solve1(program, [8]), [1000])
self.assertEqual(solve1(program, [12]), [1001])
if __name__ == "__main__":
main()