# SPDX-License-Identifier: MIT # Copyright (c) 2020 Akumatic from code import part1, part2, iterate 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']] assert iterate(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', '#', '.', '#', '#']] assert iterate(input, adjacent=False) == [ ['#', '.', '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) == 37 assert part2(input) == 26 print("Passed tests for", input) if __name__ == "__main__": test()