day05 finished
This commit is contained in:
parent
543d0823c3
commit
380b825929
6 changed files with 706 additions and 0 deletions
76
advent/days/day05/test_solution.py
Normal file
76
advent/days/day05/test_solution.py
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue