"""Test day23 main functions."""
from typing import TYPE_CHECKING
from day23.day23 import INPUT_SMALL, part1, part2
from day23.lib.classes import Solver1
from day23.lib.parsers import get_maze
if TYPE_CHECKING:
from day23.lib.classes import Maze, Path
[docs]
def test_solver() -> None:
"""Test ``Solver1``."""
maze: Maze = get_maze(INPUT_SMALL)
solver = Solver1(maze)
paths: list[Path] = solver.solve()
path_lengths = [len(path) for path in paths]
path_lengths.sort()
assert path_lengths == [74, 82, 82, 86, 90, 94]
[docs]
def test_part1() -> None:
"""Test ``part1()``."""
maze: Maze = get_maze(INPUT_SMALL)
assert part1(maze) == 94
[docs]
def test_part2() -> None:
"""Test ``part2()``."""
maze: Maze = get_maze(INPUT_SMALL)
assert part2(maze) == 154