|
1 | 1 | #![feature(test)] |
2 | 2 |
|
3 | | -use advent_lib::day_main; |
4 | 3 | use advent_lib::direction::Direction; |
5 | 4 | use advent_lib::geometry::point2; |
6 | 5 | use advent_lib::grid::Grid; |
7 | 6 | use advent_lib::iter_utils::IteratorUtils; |
8 | 7 | use advent_lib::lines::LineSegment; |
| 8 | +use advent_lib::*; |
9 | 9 | use advent_macros::FromRepr; |
10 | 10 | use nom_parse_macros::parse_from; |
11 | 11 | use std::ops::Add; |
@@ -55,10 +55,10 @@ fn draw_line(grid: &mut Grid<Place>, line: Line, value: Place) { |
55 | 55 | } |
56 | 56 | } |
57 | 57 |
|
58 | | -fn calculate_part1(grid: &Grid<Place>) -> usize { SandDroppingGrid::new(&grid).count() } |
| 58 | +fn calculate_part1(grid: &Grid<Place>) -> usize { SandDroppingGrid::new(grid).count() } |
59 | 59 |
|
60 | 60 | fn calculate_part2(grid: &Grid<Place>) -> usize { |
61 | | - let mut grid = SandDroppingGrid::new(&grid); |
| 61 | + let mut grid = SandDroppingGrid::new(grid); |
62 | 62 | let y = grid.grid.height() - 1; |
63 | 63 | for x in grid.grid.x_range() { |
64 | 64 | let place = grid.grid.get_mut(point2(x, y)).unwrap(); |
@@ -125,11 +125,5 @@ enum Place { |
125 | 125 | } |
126 | 126 |
|
127 | 127 | day_main!( generate_grid => calculate_part1, calculate_part2 ); |
128 | | - |
129 | | -#[cfg(test)] |
130 | | -mod tests { |
131 | | - use advent_lib::day_test; |
132 | | - |
133 | | - day_test!( 14, example => 24, 93 ; generate_grid ); |
134 | | - day_test!( 14 => 843, 27625 ; generate_grid ); |
135 | | -} |
| 128 | +day_test!( 14, example => 24, 93 ; crate::generate_grid ); |
| 129 | +day_test!( 14 => 843, 27625 ; crate::generate_grid ); |
0 commit comments