day05 finished

This commit is contained in:
Ruediger Ludwig 2022-12-05 07:32:53 +01:00
parent 543d0823c3
commit 380b825929
6 changed files with 706 additions and 0 deletions

View file

@ -0,0 +1,76 @@
from advent.common import utils
from .solution import day_num, part1, part2, State
def test_part1():
data = utils.read_data(day_num, 'test01.txt')
expected = "CMZ"
result = part1(data)
assert result == expected
def test_part2():
data = utils.read_data(day_num, 'test01.txt')
expected = "MCD"
result = part2(data)
assert result == expected
def test_parse_line():
input = " [D] "
expected = [None, 'D', None]
result = State.parse_crate_line(input)
assert result == expected
def test_parse_line2():
input = "[Z] [M] [P]"
expected = ["Z", 'M', "P"]
result = State.parse_crate_line(input)
assert result == expected
def test_drawing():
data = utils.read_data(day_num, 'test01.txt')
expected = ["ZN", "MCD", "P"]
result = State.parse_drawing(data)
assert result == expected
def test_parse_move():
input = "move 1 from 2 to 1"
expected = 1, 1, 0
result = State.parse_move(input)
assert result == expected
def test_parse_all():
data = utils.read_data(day_num, 'test01.txt')
expected = State(["ZN", "MCD", "P"], [(1, 1, 0), (3, 0, 2), (2, 1, 0), (1, 0, 1)])
result = State.parse(data)
assert result == expected
def test_step():
data = utils.read_data(day_num, 'test01.txt')
state = State.parse(data)
expected = ["ZND", "MC", "P"]
result = State.do_move9000(state.crates, state.moves[0])
assert result == expected
def test_all_moves():
data = utils.read_data(day_num, 'test01.txt')
state = State.parse(data)
expected = ["C", "M", "PDNZ"]
result = state.all_moves9000()
assert result == expected
def test_all_moves9001():
data = utils.read_data(day_num, 'test01.txt')
state = State.parse(data)
expected = ["M", "C", "PZND"]
result = state.all_moves9001()
assert result == expected