day24 finished

This commit is contained in:
Ruediger Ludwig 2022-12-27 20:46:26 +01:00
parent db1d74d201
commit b5f193ff3c
6 changed files with 419 additions and 0 deletions

View file

@ -0,0 +1,49 @@
from advent.common import input
from .solution import BlizTuple, Valley, day_num, part1, part2
def test_part1():
lines = input.read_lines(day_num, 'example01.txt')
expected = 18
result = part1(lines)
assert result == expected
def test_part2():
lines = input.read_lines(day_num, 'example01.txt')
expected = 54
result = part2(lines)
assert result == expected
def test_parse_line():
input = "#>>.<^<#"
expected: BlizTuple = (
[(0, 0), (1, 0)],
[(4, 0)],
[(3, 0), (5, 0)],
[])
result = Valley.parse_line(([], [], [], []), input, 0)
assert result == expected
def test_walk():
lines = input.read_lines(day_num, 'example01.txt')
valley = Valley.parse(lines)
result = valley.find_way(1)
assert result == 18
def test_walk2():
lines = input.read_lines(day_num, 'example01.txt')
valley = Valley.parse(lines)
result = valley.find_way(2)
assert result == (18 + 23)
def test_back_and_forth():
lines = input.read_lines(day_num, 'example01.txt')
valley = Valley.parse(lines)
result = valley.find_way(3)
assert result == 54