From 0e9a64e9919f985fb6e34b3e78a1dba07202c98d Mon Sep 17 00:00:00 2001 From: Johannes Date: Tue, 3 Dec 2024 06:55:12 +0100 Subject: [PATCH] Prepare day 4 and template. --- src/day04.rs | 35 +++++++++++++++++++++++++++++++++++ src/lib.rs | 1 + src/main.rs | 1 + src/template.rs | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 src/day04.rs create mode 100644 src/template.rs diff --git a/src/day04.rs b/src/day04.rs new file mode 100644 index 0000000..e974bf6 --- /dev/null +++ b/src/day04.rs @@ -0,0 +1,35 @@ +use std::fs::read_to_string; + +pub fn day_main() { + let input = read_to_string("input/day04.txt").unwrap(); + let input = input.trim(); + println!(" part1: {}", part1(input)); + println!(" part2: {}", part2(input)); +} + +type RiddleResult = i64; + +fn part1(input: &str) -> RiddleResult { + 0 +} + +fn part2(_input: &str) -> RiddleResult { + 0 +} + +#[cfg(test)] +mod test { + use super::{part1, part2}; + + const TEST_INPUT: &str = r""; + + #[test] + fn test1() { + assert_eq!(part1(TEST_INPUT), 0); + } + + #[test] + fn test2() { + assert_eq!(part2(TEST_INPUT), 0); + } +} diff --git a/src/lib.rs b/src/lib.rs index 89345b1..e051fbd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,4 @@ pub mod day01; pub mod day02; pub mod day03; +pub mod day04; diff --git a/src/main.rs b/src/main.rs index 4b2441c..8c163e1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,7 @@ fn main() { (1, day01::day_main as fn()), (2, day02::day_main), (3, day03::day_main), + (4, day04::day_main), ]); let day: Option = args().nth(1).and_then(|a| a.parse().ok()); let Some(day) = day else { diff --git a/src/template.rs b/src/template.rs new file mode 100644 index 0000000..270ae99 --- /dev/null +++ b/src/template.rs @@ -0,0 +1,35 @@ +use std::fs::read_to_string; + +pub fn day_main() { + let input = read_to_string("input/dayXX.txt").unwrap(); + let input = input.trim(); + println!(" part1: {}", part1(input)); + println!(" part2: {}", part2(input)); +} + +type RiddleResult = i64; + +fn part1(input: &str) -> RiddleResult { + 0 +} + +fn part2(_input: &str) -> RiddleResult { + 0 +} + +#[cfg(test)] +mod test { + use super::{part1, part2}; + + const TEST_INPUT: &str = r""; + + #[test] + fn test1() { + assert_eq!(part1(TEST_INPUT), 0); + } + + #[test] + fn test2() { + assert_eq!(part2(TEST_INPUT), 0); + } +}