コード例 #1
0
 def test_parse_parameter_with_three_modes(self):
     memory = [11104]
     expected_opcode = 4
     expected_modes = [
         Mode.IMMEDIATE, Mode.IMMEDIATE, Mode.IMMEDIATE, Mode.POSITION
     ]
     computer = IntComputer(memory)
     result_opcode, result_modes = computer.parse_parameter()
     assert result_opcode == expected_opcode
     assert result_modes == expected_modes
コード例 #2
0
 def test_parse_parameter_with_just_one_mode(self):
     memory = [102]
     expected_opcode = 2
     expected_modes = [
         Mode.IMMEDIATE, Mode.POSITION, Mode.POSITION, Mode.POSITION
     ]
     computer = IntComputer(memory)
     result_opcode, result_modes = computer.parse_parameter()
     assert result_opcode == expected_opcode
     assert result_modes == expected_modes
コード例 #3
0
 def test_parse_parameter_with_14(self):
     memory = [14]
     expected_opcode = 14
     expected_modes = [
         Mode.POSITION, Mode.POSITION, Mode.POSITION, Mode.POSITION
     ]
     computer = IntComputer(memory)
     result_opcode, result_modes = computer.parse_parameter()
     assert result_opcode == expected_opcode
     assert result_modes == expected_modes
コード例 #4
0
 def test_parse_parameter_with_example_from_description(self):
     """
     a single opcode should result in the matching number as opcode and all modes should be 0
     """
     memory = [1001]
     expected_opcode = 1
     expected_modes = [
         Mode.POSITION, Mode.IMMEDIATE, Mode.POSITION, Mode.POSITION
     ]
     computer = IntComputer(memory)
     result_opcode, result_modes = computer.parse_parameter()
     assert result_opcode == expected_opcode
     assert result_modes == expected_modes
コード例 #5
0
 def test_parse_parameter_supports_standalone_opcode(self):
     """
     a single opcode should result in the matching number as opcode and all modes should be 0
     """
     memory = [3]
     expected_opcode = 3
     expected_modes = [
         Mode.POSITION, Mode.POSITION, Mode.POSITION, Mode.POSITION
     ]
     computer = IntComputer(memory)
     result_opcode, result_modes = computer.parse_parameter()
     assert result_opcode == expected_opcode
     assert result_modes == expected_modes
コード例 #6
0
 def test_parse_parameter_supports_relative_mode(self):
     memory = [211104]
     expected_opcode = 4
     expected_modes = [
         Mode.IMMEDIATE,
         Mode.IMMEDIATE,
         Mode.IMMEDIATE,
         Mode.RELATIVE,
     ]
     computer = IntComputer(memory)
     result_opcode, result_modes = computer.parse_parameter()
     assert result_opcode == expected_opcode
     assert result_modes == expected_modes