Skip to content

Commit db761ad

Browse files
committed
Day 17
1 parent cc04148 commit db761ad

File tree

1 file changed

+92
-90
lines changed

1 file changed

+92
-90
lines changed

src/bin/17.rs

Lines changed: 92 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -165,96 +165,98 @@ pub fn part_two(input: &str) -> Option<u64> {
165165
mod 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

Comments
 (0)