33 lines
948 B
Python
Executable File
33 lines
948 B
Python
Executable File
#!/usr/bin/env python3.11
|
|
import logging
|
|
from unittest import TestCase, main
|
|
from part1 import farthest_length
|
|
from part2 import inside_points
|
|
from common import parse, Point
|
|
|
|
|
|
class Day10Tests(TestCase):
|
|
def test_parsing(self):
|
|
labyrinth = parse("example_input_part1.txt")
|
|
self.assertEqual(labyrinth.start, Point(0, 2, "S"))
|
|
self.assertEqual(labyrinth.first_points, (Point(0, 3, "|"), Point(1, 2, "J")))
|
|
|
|
def test_part1(self):
|
|
self.assertEqual(8, farthest_length(parse("example_input_part1.txt")))
|
|
|
|
def test_part2(self):
|
|
self.assertEqual(
|
|
[
|
|
Point(x=2, y=6, c="."),
|
|
Point(x=3, y=6, c="."),
|
|
Point(x=7, y=6, c="."),
|
|
Point(x=8, y=6, c="."),
|
|
],
|
|
inside_points(parse("example_input_part2.txt")),
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
main(verbosity=2)
|