diff --git a/src/day01.rs b/src/day01.rs index 78fb353..4b6159c 100644 --- a/src/day01.rs +++ b/src/day01.rs @@ -1,4 +1,4 @@ -use crate::utils::read_data; +use crate::utils::parse_data; use anyhow::Result; fn count_incrementing_windows(window: usize, v: &[usize]) -> usize { @@ -6,7 +6,7 @@ fn count_incrementing_windows(window: usize, v: &[usize]) -> usize { } pub(crate) fn run() -> Result<(usize, usize)> { - let data = read_data::("data/day01.txt")?; + let data = parse_data::(include_str!("../data/day01.txt"))?; Ok(( count_incrementing_windows(1, &data), count_incrementing_windows(3, &data), @@ -19,14 +19,14 @@ mod tests { #[test] fn test_example() { - let data = read_data::("data/day01-test.txt").unwrap(); + let data = parse_data::(include_str!("../data/day01-test.txt")).unwrap(); assert_eq!(count_incrementing_windows(1, &data), 7); assert_eq!(count_incrementing_windows(3, &data), 5); } #[test] fn test_my_data() { - let data = read_data::("data/day01.txt").unwrap(); + let data = parse_data::(include_str!("../data/day01.txt")).unwrap(); assert_eq!(count_incrementing_windows(1, &data), 1298); assert_eq!(count_incrementing_windows(3, &data), 1248); } diff --git a/src/day02.rs b/src/day02.rs index df4a9d3..40813cb 100644 --- a/src/day02.rs +++ b/src/day02.rs @@ -1,4 +1,3 @@ -use crate::utils::read_file; use anyhow::Result; fn parse_line(s: &str) -> (&str, i32) { @@ -34,7 +33,7 @@ fn follow_course_better(s: &str) -> i32 { } pub(crate) fn run() -> Result<(usize, usize)> { - let input = read_file("data/day02.txt")?; + let input = include_str!("../data/day02.txt"); Ok(( follow_course(&input) as usize, follow_course_better(&input) as usize, @@ -47,15 +46,15 @@ mod tests { #[test] fn test_example() { - let input = read_file("data/day02-test.txt").unwrap(); - assert_eq!(follow_course(&input), 150); - assert_eq!(follow_course_better(&input), 900); + let input = include_str!("../data/day02-test.txt"); + assert_eq!(follow_course(input), 150); + assert_eq!(follow_course_better(input), 900); } #[test] fn test_my_data() { - let input = read_file("data/day02.txt").unwrap(); - assert_eq!(follow_course(&input), 2070300); - assert_eq!(follow_course_better(&input), 2078985210); + let input = include_str!("../data/day02.txt"); + assert_eq!(follow_course(input), 2070300); + assert_eq!(follow_course_better(input), 2078985210); } } diff --git a/src/day03.rs b/src/day03.rs index 1a686b0..d29e846 100644 --- a/src/day03.rs +++ b/src/day03.rs @@ -1,4 +1,3 @@ -use crate::utils::read_file; use anyhow::Result; fn strings_to_ints(s: &str) -> Vec { @@ -89,7 +88,7 @@ fn diagnose_lifesupport(s: &str) -> usize { } pub(crate) fn run() -> Result<(usize, usize)> { - let input = read_file("data/day03.txt")?; + let input = include_str!("../data/day03.txt"); Ok((diagnose_power(&input), diagnose_lifesupport(&input))) } @@ -99,14 +98,14 @@ mod tests { #[test] fn test_example() { - let input = read_file("data/day03-test.txt").unwrap(); + let input = include_str!("../data/day03-test.txt"); assert_eq!(diagnose_power(&input), 198); assert_eq!(diagnose_lifesupport(&input), 230); } #[test] fn test_my_data() { - let input = read_file("data/day03.txt").unwrap(); + let input = include_str!("../data/day03.txt"); assert_eq!(diagnose_power(&input), 4191876); // assert_eq!(follow_course(&input), 2070300); // assert_eq!(follow_course_better(&input), 2078985210); diff --git a/src/day04.rs b/src/day04.rs index 01acaa4..1e4a695 100644 --- a/src/day04.rs +++ b/src/day04.rs @@ -1,4 +1,3 @@ -use crate::utils::read_file; use anyhow::Result; #[derive(Debug)] @@ -70,10 +69,10 @@ fn find_winning_score(s: &str, first: bool) -> usize { } pub(crate) fn run() -> Result<(usize, usize)> { - let input = read_file("data/day04.txt")?; + let input = include_str!("../data/day04.txt"); Ok(( - find_winning_score(&input, true), - find_winning_score(&input, false), + find_winning_score(input, true), + find_winning_score(input, false), )) } #[cfg(test)] @@ -82,14 +81,14 @@ mod tests { #[test] fn test_example() { - let input = read_file("data/day04-test.txt").unwrap(); + let input = include_str!("../data/day04-test.txt"); assert_eq!(find_winning_score(&input, true), 4512); assert_eq!(find_winning_score(&input, false), 1924); } #[test] fn test_my_data() { - let input = read_file("data/day04.txt").unwrap(); + let input = include_str!("../data/day04.txt"); assert_eq!(find_winning_score(&input, true), 71708); assert_eq!(find_winning_score(&input, false), 34726); } diff --git a/src/utils.rs b/src/utils.rs index b9a3384..a498da0 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,9 +1,5 @@ use anyhow::Result; -use std::{fs, str::FromStr}; - -pub fn read_data(filename: &str) -> Result> { - parse_data(&read_file(filename)?) -} +use std::str::FromStr; pub fn parse_data(s: &str) -> Result> { let mut ret = Vec::new(); @@ -16,7 +12,3 @@ pub fn parse_data(s: &str) -> Result> { } Ok(ret) } - -pub fn read_file(filename: &str) -> Result { - Ok(fs::read_to_string(filename)?) -}