From dd087b4927fe2b235d19cdbbb42a28fa63196927 Mon Sep 17 00:00:00 2001 From: Anson Date: Fri, 4 Nov 2022 10:22:42 -0600 Subject: [PATCH] Fixing tests for day 2 --- src/day2.rs | 74 +++++++++++++++++++++-------------------------------- 1 file changed, 29 insertions(+), 45 deletions(-) diff --git a/src/day2.rs b/src/day2.rs index e1fd074..d00e523 100644 --- a/src/day2.rs +++ b/src/day2.rs @@ -5,18 +5,21 @@ pub fn run() { println!("Day 2:"); let input = fs::read_to_string("./inputs/day2.txt").expect("Could not read file"); - // let input = "1x1x10\n1x1x10".to_string(); - let dimensions_list = input + let dimensions_list = parse(input); + + println!("\tPart 1: {}", part1(&dimensions_list)); + println!("\tPart 2: {}", part2(&dimensions_list)); +} + +fn parse(input: String) -> Vec> { + input .split_whitespace() .map(|c| { c.split('x') .map(|n| n.parse::().unwrap()) .collect::>() }) - .collect::>>(); - - println!("\tPart 1: {}", part1(&dimensions_list)); - println!("\tPart 2: {}", part2(&dimensions_list)); + .collect::>>() } fn part1(dimensions: &Vec>) -> usize { @@ -46,45 +49,26 @@ fn part2(dimensions: &Vec>) -> usize { }) .sum::() } -// fn part2(directions: &String) -> usize { -// let mut floor: isize = 0; -// for (num, dir) in directions.chars().enumerate() { -// floor += match dir { -// '(' => 1, -// ')' => -1, -// _ => 0, -// }; +#[cfg(test)] +mod tests { + use super::*; -// if floor == -1 { -// return num + 1; -// } -// } + #[test] + fn test_part_1() { + assert_eq!(part1(&parse("2x3x4".to_string())), 58); + assert_eq!(part1(&parse("2x3x4\n".to_string())), 58); + assert_eq!(part1(&parse("1x1x10".to_string())), 43); + assert_eq!(part1(&parse("1x10x1".to_string())), 43); + assert_eq!(part1(&parse("10x1x1".to_string())), 43); + } -// return directions.len() + 1; -// } - -// #[cfg(test)] -// mod tests { -// use super::*; - -// #[test] -// fn test_1() { -// let mut input: String; - -// let input = "2x3x4"; -// assert_eq!(part1(&input), 0); - -// input = "()()".to_string(); -// assert_eq!(part1(&input), 0); -// } - -// // #[test] -// // fn test_2() { -// // let mut input = ")".to_string(); -// // assert_eq!(part2(&input), 1); - -// // input = "()())".to_string(); -// // assert_eq!(part2(&input), 5); -// // } -// } + #[test] + fn test_part_2() { + assert_eq!(part2(&parse("2x3x4".to_string())), 34); + assert_eq!(part2(&parse("2x3x4\n".to_string())), 34); + assert_eq!(part2(&parse("1x1x10".to_string())), 14); + assert_eq!(part2(&parse("1x10x1".to_string())), 14); + assert_eq!(part2(&parse("10x1x1".to_string())), 14); + } +}