示例#1
0
文件: test.py 项目: mdumke/aoc2019
 def test_adjust_relative_mode_1(self):
     code = [109, 3, 99]
     computer = Intcomputer(code)
     computer.execute()
     self.assertEqual(computer.relative_base, 3)
示例#2
0
from intcomputer import Intcomputer

assert type(Intcomputer("[99]")) == Intcomputer


def test_loading() -> None:
    ic = Intcomputer([1101, 1, 1, 3, 4, 3, 99])
    assert ic.ram == [1101, 1, 1, 3, 4, 3, 99]


def test_positional_add() -> None:
    ic = Intcomputer([1, 0, 0, 3, 99])
    ic.run()
    assert ic.ram[3] == 2


def test_immediate_add() -> None:
    ic = Intcomputer([1101, 1, 1, 3, 99])
    ic.run()
    assert ic.ram[3] == 2


def test_positional_mul() -> None:
    ic = Intcomputer([2, 0, 0, 3, 99])
    ic.run()
    assert ic.ram[3] == 4


def test_immediate_mul() -> None:
    ic = Intcomputer([1102, 2, 2, 3, 99])
    ic.run()
示例#3
0
def test_immediate_add() -> None:
    ic = Intcomputer([1101, 1, 1, 3, 99])
    ic.run()
    assert ic.ram[3] == 2
示例#4
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_1006a(self):
     code = [1006, 3, 4, 0, 99]
     computer = Intcomputer(code)
     computer.execute()
     self.assertTrue(True)
示例#5
0
from intcomputer import Intcomputer

with open("inputs.txt", "r+") as inputs:
    raw_intcode = ''.join(inputs.readlines())

    intcode = [int(elt) for elt in raw_intcode.split(',')]

    intcom = Intcomputer(intcode)
    intcom.run()


    while(True):
        try:
            print("Output -->",intcom.output())
        except StopIteration:
            print("Nothing to output")
            break
示例#6
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_21001(self):
     code = [21001, 5, 1, -4, 99, 2, 0]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:7], [21001, 5, 1, -4, 99, 2, 3])
示例#7
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_1105(self):
     code = [1105, 1, 4, 0, 99]
     computer = Intcomputer(code)
     computer.execute()
     self.assertTrue(True)
示例#8
0
文件: test.py 项目: mdumke/aoc2019
 def test_jump_if_true_mode_2_b(self):
     code = [205, 3, 6, 0, 99, 1, 4]
     computer = Intcomputer(code)
     computer.relative_base = 2
     computer.execute()
     self.assertTrue(True)
示例#9
0
文件: test.py 项目: mdumke/aoc2019
 def test_jump_if_false_mode_2(self):
     code = [1206, 3, 4, 1, 99, 0]
     computer = Intcomputer(code)
     computer.relative_base = 2
     computer.execute()
     self.assertTrue(True)
示例#10
0
文件: test.py 项目: mdumke/aoc2019
 def test_add_mode_12(self):
     code = [1201, -5, 5, 3, 99, 11]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:6], [1201, -5, 5, 16, 99, 11])
示例#11
0
文件: test.py 项目: mdumke/aoc2019
 def test_mul_mode_12(self):
     code = [1202, -5, 2, 3, 99, 6]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:6], [1202, -5, 2, 12, 99, 6])
示例#12
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_1001(self):
     code = [1001, 5, 10, 6, 99, 7, 0]
     computer = Intcomputer(code)
     computer.execute()
     self.assertEqual(computer.memory[:7], [1001, 5, 10, 6, 99, 7, 17])
示例#13
0
文件: test.py 项目: mdumke/aoc2019
 def test_add_mode_21(self):
     code = [2101, 5, -5, 6, 99, 11]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:7], [2101, 5, -5, 6, 99, 11, 16])
示例#14
0
文件: test.py 项目: mdumke/aoc2019
 def test_adjust_relative_mode_2(self):
     code = [209, -1, 99, 20]
     computer = Intcomputer(code)
     computer.relative_base = 4
     computer.execute()
     self.assertEqual(computer.relative_base, 24)
示例#15
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_20001(self):
     code = [20001, 5, 6, -3, 99, 2, 4, 0]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:8], [20001, 5, 6, -3, 99, 2, 4, 6])
示例#16
0
文件: test.py 项目: mdumke/aoc2019
 def test_io(self):
     code = [3, 9, 1002, 9, 2, 10, 4, 10, 99, 0, 0]
     computer = Intcomputer(code)
     status, output = computer.execute(3)
     self.assertEqual(status, 'OUTPUT')
     self.assertEqual(output, 6)
示例#17
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_1(self):
     code = [1, 5, 6, 7, 99, 2, 3, 0]
     computer = Intcomputer(code)
     computer.execute()
     self.assertEqual(computer.memory[:8], [1, 5, 6, 7, 99, 2, 3, 5])
示例#18
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_201(self):
     code = [201, -4, 5, 7, 99, 3, 1, 0]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:8], [201, -4, 5, 7, 99, 3, 1, 4])
示例#19
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_20101(self):
     code = [20101, 5, 1, -5, 99, 0]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:6], [20101, 5, 1, -5, 99, 10])
示例#20
0
文件: test.py 项目: mdumke/aoc2019
 def test_sample_3(self):
     code = [104, 1125899906842624, 99]
     computer = Intcomputer(code)
     status, out = computer.execute()
     self.assertEqual(out, 1125899906842624)
示例#21
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_2105(self):
     code = [2105, 1, -7, 4, 99]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertTrue(True)
示例#22
0
文件: test.py 项目: mdumke/aoc2019
 def test_203_input(self):
     code = [203, -6, 99, -1, -1]
     computer = Intcomputer(code)
     computer.relative_base = 10
     status, out = computer.execute(1)
     self.assertEqual(computer.memory[:5], [203, -6, 99, -1, 1])
示例#23
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_1006b(self):
     code = [1006, 4, 5, 99, 1, 0]
     computer = Intcomputer(code)
     computer.execute()
     self.assertTrue(True)
示例#24
0
文件: test.py 项目: mdumke/aoc2019
 def test_21107_less_than(self):
     code = [21107, 1, 2, -5, 99, -1]
     computer = Intcomputer(code)
     computer.relative_base = 10
     computer.execute()
     self.assertEqual(computer.memory[:6], [21107, 1, 2, -5, 99, 1])
示例#25
0
 def __init__(self, code, initial_color=0):
     self.computer = Intcomputer(code)
     self.grid = defaultdict(int)
     self.grid[(0, 0)] = initial_color
     self.orientation = 0
     self.position = (0, 0)
示例#26
0
文件: test.py 项目: mdumke/aoc2019
 def test_solution_part_1(self):
     with open('input.txt') as f:
         code = [int(i) for i in f.readline().strip().split(',')]
     self.assertEqual(Intcomputer(code).execute(1)[1], 2351176124)
示例#27
0
def test_positional_add() -> None:
    ic = Intcomputer([1, 0, 0, 3, 99])
    ic.run()
    assert ic.ram[3] == 2
示例#28
0
文件: test.py 项目: mdumke/aoc2019
 def test_command_1101(self):
     code = [1101, 5, -4, 5, 99, 0]
     computer = Intcomputer(code)
     computer.execute()
     self.assertEqual(computer.memory[:6], [1101, 5, -4, 5, 99, 1])
示例#29
0
def test_positional_mul() -> None:
    ic = Intcomputer([2, 0, 0, 3, 99])
    ic.run()
    assert ic.ram[3] == 4
示例#30
0
文件: test.py 项目: mdumke/aoc2019
 def test_adjust_relative_mode_0(self):
     code = [9, 3, 99, 10]
     computer = Intcomputer(code)
     computer.execute()
     self.assertEqual(computer.relative_base, 10)