mirror of
https://github.com/Findus23/AdventOfCode2019.git
synced 2024-08-27 19:52:12 +02:00
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from day3 import parse_path, manhatten_distance, closest_crossing, part1, shortest_signal, part2
|
|
|
|
|
|
def test_parse_path():
|
|
assert parse_path("R8,U5,L5,D3") == [('R', 8), ('U', 5), ('L', 5), ('D', 3)]
|
|
|
|
|
|
def test_manhatten_distance():
|
|
assert manhatten_distance((1, 4)) == 5
|
|
|
|
|
|
def test_closest_crossing():
|
|
assert closest_crossing(parse_path("R8,U5,L5,D3"), parse_path("U7,R6,D4,L4")) == 6
|
|
assert closest_crossing(parse_path("R75,D30,R83,U83,L12,D49,R71,U7,L72"),
|
|
parse_path("U62,R66,U55,R34,D71,R55,D58,R83")) == 159
|
|
assert closest_crossing(parse_path("R98,U47,R26,D63,R33,U87,L62,D20,R33,U53,R51"),
|
|
parse_path("U98,R91,D20,R16,D67,R40,U7,R15,U6,R7")) == 135
|
|
|
|
|
|
def test_shortest_signal():
|
|
assert shortest_signal(parse_path("R8,U5,L5,D3"), parse_path("U7,R6,D4,L4")) == 30
|
|
assert shortest_signal(parse_path("R75,D30,R83,U83,L12,D49,R71,U7,L72"),
|
|
parse_path("U62,R66,U55,R34,D71,R55,D58,R83")) == 610
|
|
assert shortest_signal(parse_path("R98,U47,R26,D63,R33,U87,L62,D20,R33,U53,R51"),
|
|
parse_path("U98,R91,D20,R16,D67,R40,U7,R15,U6,R7")) == 410
|
|
|
|
|
|
def test_part1():
|
|
assert part1() == 316
|
|
|
|
|
|
def test_part2():
|
|
assert part2() == 16368
|