day15 finished
This commit is contained in:
parent
334debccc6
commit
d5edd049ce
6 changed files with 214 additions and 0 deletions
49
advent/days/day15/test_solution.py
Normal file
49
advent/days/day15/test_solution.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
from advent.common import input
|
||||
|
||||
from .solution import Sensor, SensorMap, day_num, part1, part2
|
||||
|
||||
|
||||
def test_part1():
|
||||
lines = input.read_lines(day_num, 'test01.txt')
|
||||
expected = 26
|
||||
result = part1(lines)
|
||||
assert result == expected
|
||||
|
||||
|
||||
def test_part2():
|
||||
lines = input.read_lines(day_num, 'test01.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, 'test01.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, 'test01.txt')
|
||||
next(lines)
|
||||
sensor_map = SensorMap.parse(lines)
|
||||
expected = 56000011
|
||||
result = sensor_map.get_possible_frequency(20)
|
||||
assert result == expected
|
||||
Loading…
Add table
Add a link
Reference in a new issue