Ejemplo n.º 1
0
class TestCallOpcodes(unittest.TestCase):
    def setUp(self):
        self.cpu = Cpu(MMU())
        self.cpu.mmu.rom = [0] * 128
        self.cpu.mmu.load('C:/Users/cjpowell/workspace/Python/gbpy/resources/test_file.gb')
        self.cpu.mmu.rom[0] = 0x1
        self.cpu.mmu.rom[1] = 0xed
        self.cpu.registers.sp = 0xfffe

    def test_standard_call(self):
        self.cpu._op_cd()
        self.assertEqual(self.cpu.registers.sp, 0xfffc)
        self.assertEqual(self.cpu.registers.pc, 1)
        self.cpu._op_cd()
        self.assertEqual(self.cpu.registers.sp, 0xfffa)
        self.assertEqual(self.cpu.registers.pc, 0xed)

    def test_call_if(self):
        self.cpu._op_c4()
        self.cpu._op_cc()
        self.cpu._op_d4()
        self.cpu._op_dc()
        self.assertTrue(False)