advent_of_code/elixir/test/2023_day10_test.exs
2024-11-15 21:03:49 -05:00

39 lines
902 B
Elixir

defmodule Day102023Tests do
use ExUnit.Case
@test_input ~s"..F7.
.FJ|.
SJ.L7
|F--J
LJ..."
@pt_2_input ~s".F----7F7F7F7F-7....
.|F--7||||||||FJ....
.||.FJ||||||||L7....
FJL7L7LJLJ||LJ.L-7..
L--J.L7...LJS7F-7L7.
....F-J..F7FJ|L7L7L7
....L7.F7||L7|.L7L7|
.....|FJLJ|FJ|F7|.LJ
....FJL-7.||.||||...
....L---J.LJ.LJLJ..."
@grid PipeModule.parse(@test_input)
@pt_2_grid PipeModule.parse(@pt_2_input)
assert "solves part1" do
animal_coords = PipeModule.find_animal(@grid)
loop = PipeModule.find_loop(animal_coords, [], @grid)
{coord, [count, count]} = PipeModule.furthest_from_animal(loop)
assert count == 8
assert coord = {4, 2}
end
assert "solves part 2" do
animal_coords = PipeModule.find_animal(@pt_2_grid)
loop = PipeModule.find_loop(animal_coords, [], @pt_2_grid)
count = PipeModule.get_inside_count(@pt_2_grid, loop)
assert count == 8
end
end