From 463f6d174ff876a99416aa19df62d61be31d0b1e Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 1 Dec 2023 13:09:31 +0100 Subject: [PATCH] =?utf8?q?Am=C3=A9lioration=20du=20squelette=20+=20applica?= =?utf8?q?tion=20au=20day01?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/day00.rs | 28 +++++++++++++++++----------- src/day01.rs | 4 ++-- src/main.rs | 13 +++++++------ 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/day00.rs b/src/day00.rs index 36171eb..d5e90c7 100644 --- a/src/day00.rs +++ b/src/day00.rs @@ -1,15 +1,23 @@ +use std::io::Read; use std::error::Error; +use std::fs::File; + +pub fn run(input_file: &str) -> Result<(), Box> { + let mut f = File::open(input_file)?; + let mut input = String::new(); + f.read_to_string(&mut input)?; + + let res = run_part1(&input)?; + println!("{res}"); + + let res = run_part2(&input)?; + println!("{res}"); -pub fn run() -> Result<(), Box> { - let input = "blabl"; - run_part1(&input)?; - run_part2(&input)?; Ok(()) } fn run_part1(input: &str) -> Result> { println!("Running day00 (template) - part 1"); - println!("{input}"); Ok(input.to_string()) } @@ -24,17 +32,15 @@ mod tests { #[test] fn day00_part1() { - let input = "\ -blabla"; + let input = ""; let res = run_part1(&input); - assert_eq!("blabla", res.unwrap()); + assert_eq!("", res.unwrap()); } #[test] fn day00_part2() { - let input = "\ -blabla"; + let input = ""; let res = run_part2(&input); - assert_eq!("blabla", res.unwrap()); + assert_eq!("", res.unwrap()); } } diff --git a/src/day01.rs b/src/day01.rs index 5dcee5d..761bdff 100644 --- a/src/day01.rs +++ b/src/day01.rs @@ -3,8 +3,8 @@ use std::error::Error; use std::fs::File; use std::collections::HashMap; -pub fn run() -> Result<(), Box> { - let mut f = File::open("input/day01.txt")?; +pub fn run(input_file: &str) -> Result<(), Box> { + let mut f = File::open(input_file)?; let mut input = String::new(); f.read_to_string(&mut input)?; diff --git a/src/main.rs b/src/main.rs index 80ffb11..083626b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,21 +7,22 @@ pub mod day01; fn main() { let args: Vec = env::args().collect(); - if args.len() != 2 { + if args.len() != 3 { println!("Missing argument"); + println!("usage: aoc_2023 "); process::exit(1); } - if let Err(e) = run(args[1].clone()) { + if let Err(e) = run(&args[1], &args[2]) { println!("Error: {e}"); process::exit(1); } } -fn run(day: String) -> Result<(), Box> { - match day.as_ref() { - "day00" => day00::run()?, - "day01" => day01::run()?, +fn run(day: &str, input_file: &str) -> Result<(), Box> { + match day { + "day00" => day00::run(input_file)?, + "day01" => day01::run(input_file)?, _ => return Err(format!("unknown day \"{day}\"").into()), } Ok(()) -- 2.39.5