Ejemplo n.º 1
0
    def test_bumpdwn_indirect_invalid_adress(self):
        # arrange
        sut = Vm()
        sut.rom = [sut.OPC_BUMPDWN_I, 3, sut.OPC_NOP]
        sut.ram = [1, 2, 3, 4]

        # act
        action = sut.next_step

        # assert
        self.assertRaises(InvalidRamAdressException, action)
Ejemplo n.º 2
0
    def test_copyfrom_direct_invalid_adress(self):
        # arrange
        sut = Vm()
        sut.rom = [sut.OPC_COPYFROM, 4, sut.OPC_NOP]
        sut.ram = [1, 2, 3, 4]

        # act
        action = sut.next_step

        # assert
        self.assertRaises(InvalidRamAdressException, action)
Ejemplo n.º 3
0
    def test_sub_indirect_invalid_adress(self):
        # arrange
        sut = Vm()
        sut.accumulator = 1
        sut.rom = [sut.OPC_SUB_I, 2, sut.OPC_NOP]
        sut.ram = [1, 2, 3]

        # act
        action = sut.next_step

        # assert
        self.assertRaises(InvalidRamAdressException, action)
Ejemplo n.º 4
0
    def test_sub_indirect(self):
        # arrange
        sut = Vm()
        sut.accumulator = 1
        sut.rom = [sut.OPC_SUB_I, 0, sut.OPC_NOP]
        sut.ram = [1, 2, 3]

        # act
        sut.next_step()

        # assert
        self.assertEqual(sut.accumulator, -1)
Ejemplo n.º 5
0
    def test_add_direct(self):
        # arrange
        sut = Vm()
        sut.accumulator = 1
        sut.rom = [sut.OPC_ADD, 0, sut.OPC_NOP]
        sut.ram = [1, 2, 3]

        # act
        sut.next_step()

        # assert
        self.assertEqual(sut.accumulator, 2)
Ejemplo n.º 6
0
    def test_copyfrom_indirect(self):
        # arrange
        sut = Vm()
        sut.rom = [sut.OPC_COPYFROM_I, 2, sut.OPC_NOP]
        sut.ram = [1, 2, 3, 4]

        # act
        sut.next_step()

        # assert
        self.assertEqual(sut.program_count, 2)
        self.assertEqual(sut.accumulator, 4)
        self.assertEqual(sut.ram, [1, 2, 3, 4])
Ejemplo n.º 7
0
    def test_bumpdwn_indirect(self):
        # arrange
        sut = Vm()
        sut.accumulator = 42
        sut.ram = [1, 2, 3, 4]
        sut.rom = [sut.OPC_BUMPDWN_I, 2, sut.OPC_NOP]

        # act
        sut.next_step()

        # assert
        self.assertEqual(sut.program_count, 2)
        self.assertEqual(sut.accumulator, 3)
        self.assertEqual(sut.ram, [1, 2, 3, 3])
Ejemplo n.º 8
0
    def test_nop(self):
        # arrange
        sut = Vm()
        sut.accumulator = 42
        sut.ram = [1, 2, 3, 4]
        sut.rom = [sut.OPC_NOP, sut.OPC_NOP]

        # act
        sut.next_step()

        # assert
        self.assertEqual(sut.program_count, 1)
        self.assertEqual(sut.accumulator, 42)
        self.assertEqual(sut.ram, [1, 2, 3, 4])