class TestBranchOperations(unittest.TestCase): def setUp(self): self.memory = Memory(use_bus=False) self.cpu = CPU(self.memory) def test_BCC(self): self.cpu.program_counter = 0x1000 self.cpu.carry_flag = 1 self.cpu.BCC(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.carry_flag = 0 self.cpu.BCC(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000) def test_BCS(self): self.cpu.program_counter = 0x1000 self.cpu.carry_flag = 0 self.cpu.BCS(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.carry_flag = 1 self.cpu.BCS(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000) def test_BEQ(self): self.cpu.program_counter = 0x1000 self.cpu.zero_flag = 0 self.cpu.BEQ(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.zero_flag = 1 self.cpu.BEQ(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000) def test_BMI(self): self.cpu.program_counter = 0x1000 self.cpu.sign_flag = 0 self.cpu.BMI(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.sign_flag = 1 self.cpu.BMI(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000) def test_BNE(self): self.cpu.program_counter = 0x1000 self.cpu.zero_flag = 1 self.cpu.BNE(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.zero_flag = 0 self.cpu.BNE(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000) def test_BPL(self): self.cpu.program_counter = 0x1000 self.cpu.sign_flag = 1 self.cpu.BPL(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.sign_flag = 0 self.cpu.BPL(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000) def test_BVC(self): self.cpu.program_counter = 0x1000 self.cpu.overflow_flag = 1 self.cpu.BVC(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.overflow_flag = 0 self.cpu.BVC(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000) def test_BVS(self): self.cpu.program_counter = 0x1000 self.cpu.overflow_flag = 0 self.cpu.BVS(0x2000) self.assertEqual(self.cpu.program_counter, 0x1000) self.cpu.program_counter = 0x1000 self.cpu.overflow_flag = 1 self.cpu.BVS(0x2000) self.assertEqual(self.cpu.program_counter, 0x2000)