main runner with more meaningless output
This commit is contained in:
@@ -27,6 +27,7 @@ mod test {
|
|||||||
fn test1() {
|
fn test1() {
|
||||||
assert_eq!(part1(TEST_INPUT), 0);
|
assert_eq!(part1(TEST_INPUT), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test2() {
|
fn test2() {
|
||||||
assert_eq!(part2(TEST_INPUT), 0);
|
assert_eq!(part2(TEST_INPUT), 0);
|
||||||
|
|||||||
36
src/main.rs
36
src/main.rs
@@ -1,13 +1,35 @@
|
|||||||
use std::env::args;
|
use std::{collections::HashMap, env::args};
|
||||||
|
|
||||||
use advent_of_rust_2024::*;
|
use advent_of_rust_2024::*;
|
||||||
|
use itertools::Itertools;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
let mains: HashMap<u8, fn() -> ()> = HashMap::from_iter([
|
||||||
|
(1, day01::day_main as fn()),
|
||||||
|
(2, day02::day_main),
|
||||||
|
(3, day03::day_main),
|
||||||
|
]);
|
||||||
let day: Option<u8> = args().nth(1).and_then(|a| a.parse().ok());
|
let day: Option<u8> = args().nth(1).and_then(|a| a.parse().ok());
|
||||||
match day {
|
let Some(day) = day else {
|
||||||
Some(1) => day01::day_main(),
|
mains
|
||||||
Some(2) => day02::day_main(),
|
.iter()
|
||||||
Some(3) => day03::day_main(),
|
.sorted_by_key(|entry| entry.0)
|
||||||
_ => println!("Please select a day to run"),
|
.for_each(|(d, f)| {
|
||||||
}
|
println!("Day {d}:");
|
||||||
|
f();
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
let Some(f) = mains.get(&day) else {
|
||||||
|
println!("No implementation for day {day}.");
|
||||||
|
println!(
|
||||||
|
"Pick one of {}",
|
||||||
|
mains.keys().map(|k| k.to_string()).join(", ")
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("Day {day}:");
|
||||||
|
f();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user