cpu/tests.rs: Use instruction function directly in non-parser tests
This commit is contained in:
parent
f9f6510c75
commit
4b5de191d8
@ -57,9 +57,7 @@ mod sys {
|
|||||||
#[test]
|
#[test]
|
||||||
fn clear_screen() {
|
fn clear_screen() {
|
||||||
let (mut cpu, mut bus) = setup_environment();
|
let (mut cpu, mut bus) = setup_environment();
|
||||||
bus.write(0x200u16, 0x00e0u16);
|
cpu.clear_screen(&mut bus);
|
||||||
// Check if screen RAM is cleared
|
|
||||||
cpu.tick(&mut bus);
|
|
||||||
bus.get_region(Screen)
|
bus.get_region(Screen)
|
||||||
.expect("Expected screen, got None")
|
.expect("Expected screen, got None")
|
||||||
.iter()
|
.iter()
|
||||||
@ -74,12 +72,13 @@ mod sys {
|
|||||||
let sp_orig = cpu.sp;
|
let sp_orig = cpu.sp;
|
||||||
// Place the address on the stack
|
// Place the address on the stack
|
||||||
bus.write(cpu.sp.wrapping_add(2), test_addr);
|
bus.write(cpu.sp.wrapping_add(2), test_addr);
|
||||||
// Call an address
|
|
||||||
cpu.ret(&mut bus);
|
cpu.ret(&mut bus);
|
||||||
|
|
||||||
// Verify the current address is the address from the stack
|
// Verify the current address is the address from the stack
|
||||||
assert_eq!(test_addr, cpu.pc);
|
assert_eq!(test_addr, cpu.pc);
|
||||||
assert!(dbg!(cpu.sp.wrapping_sub(sp_orig)) == 0x2);
|
|
||||||
// Verify the stack pointer has moved
|
// Verify the stack pointer has moved
|
||||||
|
assert!(dbg!(cpu.sp.wrapping_sub(sp_orig)) == 0x2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -736,7 +735,7 @@ mod io {
|
|||||||
// load CPU registers
|
// load CPU registers
|
||||||
cpu.i = addr as u16;
|
cpu.i = addr as u16;
|
||||||
cpu.v[5] = test.input;
|
cpu.v[5] = test.input;
|
||||||
// run instruction
|
|
||||||
cpu.bcd_convert(5, &mut bus);
|
cpu.bcd_convert(5, &mut bus);
|
||||||
// validate the results
|
// validate the results
|
||||||
assert_eq!(bus.get(addr..addr.saturating_add(3)), Some(test.output))
|
assert_eq!(bus.get(addr..addr.saturating_add(3)), Some(test.output))
|
||||||
|
Loading…
Reference in New Issue
Block a user