diff --git a/2022/setup_day.sh b/2022/setup_day.sh index 097c960..94fe961 100755 --- a/2022/setup_day.sh +++ b/2022/setup_day.sh @@ -7,21 +7,10 @@ echo '#![feature(test)] extern crate test; use aoc2022::{boilerplate, common::*}; -fn parse_input(raw: &str) -> Parsed { - unimplemented!() -} - -fn part1(parsed: &Parsed) -> usize { - unimplemented!() -} - -fn part2(parsed: &Parsed) -> usize { - unimplemented!() -} +const DAY: usize = 0; +type Parsed = Vec; boilerplate! { - DAY = '$today', - type = Vec, TEST_INPUT == "", tests: { part1: { TEST_INPUT => 0 }, @@ -30,4 +19,16 @@ boilerplate! { bench1 == 0, bench2 == 0, parse: Vec::len => 0, +} + +fn parse_input(raw: &str) -> Parsed { + parse_nums() +} + +fn part1(parsed: &Parsed) -> usize { + unimplemented!() +} + +fn part2(parsed: &Parsed) -> usize { + unimplemented!() }' > src/bin/day$today.rs diff --git a/2022/src/bin/day0.rs b/2022/src/bin/day0.rs index ec07ccf..197826d 100644 --- a/2022/src/bin/day0.rs +++ b/2022/src/bin/day0.rs @@ -2,6 +2,28 @@ extern crate test; use aoc2022::{boilerplate, common::*}; +const DAY: usize = 0; +type Parsed = Vec; + +boilerplate! { + TEST_INPUT == "1721 +979 +366 +299 +675 +1456", + tests: { + part1: { + TEST_INPUT => 514579, + "1234\n786" => 969924, + }, + part2: { TEST_INPUT => 241861950 }, + }, + bench1 == 731731, + bench2 == 116115990, + parse: Vec::len => 200, +} + /// Naive solution for a previous day 1, /// just to test my test setup for this year. @@ -32,24 +54,3 @@ fn part2(parsed: &Parsed) -> usize { } unreachable!() } - -boilerplate! { - DAY = 0, - type = Vec, - TEST_INPUT == "1721 -979 -366 -299 -675 -1456", - tests: { - part1: { - TEST_INPUT => 514579, - "1234\n786" => 969924, - }, - part2: { TEST_INPUT => 241861950 }, - }, - bench1 == 731731, - bench2 == 116115990, - parse: Vec::len => 200, -} diff --git a/2022/src/teststuff.rs b/2022/src/teststuff.rs index 7dd3053..fc38a82 100644 --- a/2022/src/teststuff.rs +++ b/2022/src/teststuff.rs @@ -1,8 +1,6 @@ #[macro_export] macro_rules! boilerplate { ( - DAY = $day: literal, - type = $type: ty, TEST_INPUT == $ti: literal, tests: { $($part: ident: { $($tpi: expr => $to: literal$(,)?)+ }$(,)?)* @@ -11,9 +9,6 @@ macro_rules! boilerplate { bench2 == $b2: literal, parse: $input_fn: expr => $it: literal$(,)? ) => { - const DAY: usize = $day; - type Parsed = $type; - fn main() { let input = parse_input(&read_file(DAY)); println!("Part 1: {}", part1(&input));