@@ -165,96 +165,98 @@ pub fn part_two(input: &str) -> Option<u64> {
165
165
mod tests {
166
166
use super :: * ;
167
167
168
- // #[test]
169
- // fn test_ex_1() {
170
- // let mut machine = Machine {
171
- // reg_a: 0,
172
- // reg_b: 0,
173
- // reg_c: 9,
174
- // ip: 0,
175
- // tape: vec![2, 6],
176
- // output: vec![],
177
- // };
178
- // machine.step();
179
- // assert_eq!(machine.reg_b, 1);
180
- // }
181
-
182
- // #[test]
183
- // fn test_ex_2() {
184
- // let mut machine = Machine {
185
- // reg_a: 10,
186
- // reg_b: 0,
187
- // reg_c: 0,
188
- // ip: 0,
189
- // tape: vec![5, 0, 5, 1, 5, 4],
190
- // output: vec![],
191
- // };
192
- // while machine.step() {}
193
- // assert_eq!(machine.output, vec![0, 1, 2]);
194
- // }
195
-
196
- // #[test]
197
- // fn test_ex_3() {
198
- // let mut machine = Machine {
199
- // reg_a: 2024,
200
- // reg_b: 0,
201
- // reg_c: 0,
202
- // ip: 0,
203
- // tape: vec![0, 1, 5, 4, 3, 0],
204
- // output: vec![],
205
- // };
206
- // while machine.step() {}
207
- // assert_eq!(machine.output, vec![4, 2, 5, 6, 7, 7, 7, 7, 3, 1, 0]);
208
- // assert_eq!(machine.reg_a, 0);
209
- // }
210
-
211
- // #[test]
212
- // fn test_ex_4() {
213
- // let mut machine = Machine {
214
- // reg_a: 0,
215
- // reg_b: 29,
216
- // reg_c: 0,
217
- // ip: 0,
218
- // tape: vec![1, 7],
219
- // output: vec![],
220
- // };
221
- // machine.step();
222
- // assert_eq!(machine.reg_b, 26);
223
- // }
224
-
225
- // #[test]
226
- // fn test_ex_5() {
227
- // let mut machine = Machine {
228
- // reg_a: 0,
229
- // reg_b: 2024,
230
- // reg_c: 43690,
231
- // ip: 0,
232
- // tape: vec![4, 0],
233
- // output: vec![],
234
- // };
235
- // machine.step();
236
- // assert_eq!(machine.reg_b, 44354);
237
- // }
238
-
239
- // #[test]
240
- // fn test_ex_6() {
241
- // let mut machine = Machine {
242
- // reg_a: 117440,
243
- // reg_b: 0,
244
- // reg_c: 0,
245
- // ip: 0,
246
- // tape: vec![0, 3, 5, 4, 3, 0],
247
- // output: vec![],
248
- // };
249
- // while machine.step() {}
250
- // assert_eq!(machine.output, vec![0, 3, 5, 4, 3, 0]);
251
- // }
252
-
253
- // #[test]
254
- // fn test_part_one() {
255
- // let result = part_one(&advent_of_code::template::read_file_part("examples", DAY, 1));
256
- // assert_eq!(result, Some("4,6,3,5,6,3,5,2,1,0".to_string()));
257
- // }
168
+ #[ test]
169
+ fn test_ex_1 ( ) {
170
+ let mut machine = Machine {
171
+ reg_a : 0 ,
172
+ reg_b : 0 ,
173
+ reg_c : 9 ,
174
+ ip : 0 ,
175
+ tape : vec ! [ 2 , 6 ] ,
176
+ output : vec ! [ ] ,
177
+ } ;
178
+ machine. step ( ) ;
179
+ assert_eq ! ( machine. reg_b, 1 ) ;
180
+ }
181
+
182
+ #[ test]
183
+ fn test_ex_2 ( ) {
184
+ let mut machine = Machine {
185
+ reg_a : 10 ,
186
+ reg_b : 0 ,
187
+ reg_c : 0 ,
188
+ ip : 0 ,
189
+ tape : vec ! [ 5 , 0 , 5 , 1 , 5 , 4 ] ,
190
+ output : vec ! [ ] ,
191
+ } ;
192
+ while machine. step ( ) { }
193
+ assert_eq ! ( machine. output, vec![ 0 , 1 , 2 ] ) ;
194
+ }
195
+
196
+ #[ test]
197
+ fn test_ex_3 ( ) {
198
+ let mut machine = Machine {
199
+ reg_a : 2024 ,
200
+ reg_b : 0 ,
201
+ reg_c : 0 ,
202
+ ip : 0 ,
203
+ tape : vec ! [ 0 , 1 , 5 , 4 , 3 , 0 ] ,
204
+ output : vec ! [ ] ,
205
+ } ;
206
+ while machine. step ( ) { }
207
+ assert_eq ! ( machine. output, vec![ 4 , 2 , 5 , 6 , 7 , 7 , 7 , 7 , 3 , 1 , 0 ] ) ;
208
+ assert_eq ! ( machine. reg_a, 0 ) ;
209
+ }
210
+
211
+ #[ test]
212
+ fn test_ex_4 ( ) {
213
+ let mut machine = Machine {
214
+ reg_a : 0 ,
215
+ reg_b : 29 ,
216
+ reg_c : 0 ,
217
+ ip : 0 ,
218
+ tape : vec ! [ 1 , 7 ] ,
219
+ output : vec ! [ ] ,
220
+ } ;
221
+ machine. step ( ) ;
222
+ assert_eq ! ( machine. reg_b, 26 ) ;
223
+ }
224
+
225
+ #[ test]
226
+ fn test_ex_5 ( ) {
227
+ let mut machine = Machine {
228
+ reg_a : 0 ,
229
+ reg_b : 2024 ,
230
+ reg_c : 43690 ,
231
+ ip : 0 ,
232
+ tape : vec ! [ 4 , 0 ] ,
233
+ output : vec ! [ ] ,
234
+ } ;
235
+ machine. step ( ) ;
236
+ assert_eq ! ( machine. reg_b, 44354 ) ;
237
+ }
238
+
239
+ #[ test]
240
+ fn test_ex_6 ( ) {
241
+ let mut machine = Machine {
242
+ reg_a : 117440 ,
243
+ reg_b : 0 ,
244
+ reg_c : 0 ,
245
+ ip : 0 ,
246
+ tape : vec ! [ 0 , 3 , 5 , 4 , 3 , 0 ] ,
247
+ output : vec ! [ ] ,
248
+ } ;
249
+ while machine. step ( ) { }
250
+ assert_eq ! ( machine. output, vec![ 0 , 3 , 5 , 4 , 3 , 0 ] ) ;
251
+ }
252
+
253
+ #[ test]
254
+ fn test_part_one ( ) {
255
+ let result = part_one ( & advent_of_code:: template:: read_file_part (
256
+ "examples" , DAY , 1 ,
257
+ ) ) ;
258
+ assert_eq ! ( result, Some ( "4,6,3,5,6,3,5,2,1,0" . to_string( ) ) ) ;
259
+ }
258
260
259
261
#[ test]
260
262
fn test_part_two ( ) {
0 commit comments