advent-2022-python/advent/days/day15/test_solution.py
Ruediger Ludwig 0843624f17 corrections
2022-12-29 06:44:57 +01:00

49 lines
1.3 KiB
Python

from advent.common import input
from .solution import Sensor, SensorMap, day_num, part1, part2
def test_part1():
lines = input.read_lines(day_num, 'example01.txt')
expected = 26
result = part1(lines)
assert result == expected
def test_part2():
lines = input.read_lines(day_num, 'example01.txt')
expected = 56000011
result = part2(lines)
assert result == expected
def test_parse():
input = "Sensor at x=2, y=18: closest beacon is at x=-2, y=15"
expected = Sensor((2, 18), 7), (-2, 15)
result = Sensor.parse(input)
assert result == expected
def test_x_range():
input = "Sensor at x=8, y=7: closest beacon is at x=2, y=10"
sensor, _ = Sensor.parse(input)
assert sensor.col_range_at_row(10) == (2, 14)
assert sensor.col_range_at_row(11) == (3, 13)
def test_impossible():
lines = input.read_lines(day_num, 'example01.txt')
next(lines)
sensor_map = SensorMap.parse(lines)
expected = 26
result = sensor_map.count_impossible(10)
assert result == expected
def test_possible():
lines = input.read_lines(day_num, 'example01.txt')
next(lines)
sensor_map = SensorMap.parse(lines)
expected = 56000011
result = sensor_map.get_possible_frequency(20)
assert result == expected