20 lines
721 B
Python
20 lines
721 B
Python
# SPDX-License-Identifier: MIT
|
|
# Copyright (c) 2020 Akumatic
|
|
|
|
from code import part1, part2, run_v1, run_v2
|
|
|
|
def test():
|
|
input = [["mask", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXX0X"],
|
|
["mem[8]", "11"],["mem[7]", "101"],["mem[8]", "0"]]
|
|
assert run_v1(input) == {7:101, 8:64}
|
|
assert part1(input) == 165
|
|
print(f"Passed part 1 for {input}")
|
|
input = [["mask","000000000000000000000000000000X1001X"], ["mem[42]","100"],
|
|
["mask","00000000000000000000000000000000X0XX"], ["mem[26]","1"]]
|
|
assert run_v2(input) == {26:1, 27:1, 58:100,
|
|
59:100, 16:1,17:1, 18:1, 19:1, 24:1, 25:1}
|
|
assert part2(input) == 208
|
|
print(f"Passed part 2 for {input}")
|
|
|
|
if __name__ == "__main__":
|
|
test() |