@@ -165,96 +165,98 @@ pub fn part_two(input: &str) -> Option<u64> {
165165mod tests {
166166 use super :: * ;
167167
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+ }
258260
259261 #[ test]
260262 fn test_part_two ( ) {
0 commit comments