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

45 lines
2.2 KiB
Python
Raw Normal View History

2020-12-11 11:52:24 +01:00
# SPDX-License-Identifier: MIT
# Copyright (c) 2020 Akumatic
from code import part1, part2, iterate, create_cache
2020-12-11 11:52:24 +01:00
def test():
input = [['L', '.', 'L', 'L', '.', 'L', 'L', '.', 'L', 'L'],
['L', 'L', 'L', 'L', 'L', 'L', 'L', '.', 'L', 'L'],
['L', '.', 'L', '.', 'L', '.', '.', 'L', '.', '.'],
['L', 'L', 'L', 'L', '.', 'L', 'L', '.', 'L', 'L'],
['L', '.', 'L', 'L', '.', 'L', 'L', '.', 'L', 'L'],
['L', '.', 'L', 'L', 'L', 'L', 'L', '.', 'L', 'L'],
['.', '.', 'L', '.', 'L', '.', '.', '.', '.', '.'],
['L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'],
['L', '.', 'L', 'L', 'L', 'L', 'L', 'L', '.', 'L'],
['L', '.', 'L', 'L', 'L', 'L', 'L', '.', 'L', 'L']]
cache = create_cache(input)
assert iterate(input, cache) == [
2020-12-11 11:52:24 +01:00
['#', '.', '#', 'L', '.', 'L', '#', '.', '#', '#'],
['#', 'L', 'L', 'L', '#', 'L', 'L', '.', 'L', '#'],
['L', '.', '#', '.', 'L', '.', '.', '#', '.', '.'],
['#', 'L', '#', '#', '.', '#', '#', '.', 'L', '#'],
['#', '.', '#', 'L', '.', 'L', 'L', '.', 'L', 'L'],
['#', '.', '#', 'L', '#', 'L', '#', '.', '#', '#'],
['.', '.', 'L', '.', 'L', '.', '.', '.', '.', '.'],
['#', 'L', '#', 'L', '#', '#', 'L', '#', 'L', '#'],
['#', '.', 'L', 'L', 'L', 'L', 'L', 'L', '.', 'L'],
['#', '.', '#', 'L', '#', 'L', '#', '.', '#', '#']]
assert iterate(input, cache, adjacent=False) == [
2020-12-11 11:52:24 +01:00
['#', '.', 'L', '#', '.', 'L', '#', '.', 'L', '#'],
['#', 'L', 'L', 'L', 'L', 'L', 'L', '.', 'L', 'L'],
['L', '.', 'L', '.', 'L', '.', '.', '#', '.', '.'],
['#', '#', 'L', '#', '.', '#', 'L', '.', 'L', '#'],
['L', '.', 'L', '#', '.', 'L', 'L', '.', 'L', '#'],
['#', '.', 'L', 'L', 'L', 'L', '#', '.', 'L', 'L'],
['.', '.', '#', '.', 'L', '.', '.', '.', '.', '.'],
['L', 'L', 'L', '#', '#', '#', 'L', 'L', 'L', '#'],
['#', '.', 'L', 'L', 'L', 'L', 'L', '#', '.', 'L'],
['#', '.', 'L', '#', 'L', 'L', '#', '.', 'L', '#']]
assert part1(input, cache) == 37
assert part2(input, cache) == 26
2020-12-11 11:52:24 +01:00
print("Passed tests for", input)
if __name__ == "__main__":
test()