Advent-of-Code/2020/18/test_code.py

24 lines
1006 B
Python
Raw Permalink Normal View History

2020-12-18 14:15:36 +01:00
# SPDX-License-Identifier: MIT
# Copyright (c) 2020 Akumatic
from code import part1, part2, parse
def test():
assert parse("1 + 2 * 3 + 4 * 5 + 6") == 71
assert parse("1 + (2 * 3) + (4 * (5 + 6))") == 51
assert parse("2 * 3 + (4 * 5)") == 26
assert parse("5 + (8 * 3 + 9 + 3 * 4 * 3)") == 437
assert parse("5 * 9 * (7 * 3 * 3 + 9 * 3 + (8 + 6 * 4))") == 12240
assert parse("((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2") == 13632
print(f"Passed part 1")
assert parse("1 + 2 * 3 + 4 * 5 + 6", precedence=True) == 231
assert parse("1 + (2 * 3) + (4 * (5 + 6))", precedence=True) == 51
assert parse("2 * 3 + (4 * 5)", precedence=True) == 46
assert parse("5 + (8 * 3 + 9 + 3 * 4 * 3)", precedence=True) == 1445
assert parse("5 * 9 * (7 * 3 * 3 + 9 * 3 + (8 + 6 * 4))", precedence=True) == 669060
assert parse("((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2", precedence=True) == 23340
print(f"Passed part 2")
if __name__ == "__main__":
test()