24 lines
803 B
Rust
24 lines
803 B
Rust
use std::fs::File;
|
|
use std::io::Read;
|
|
use gemma::chip8::system_memory::Chip8SystemMemory;
|
|
use gemma::constants::TEST_ROM_ROOT;
|
|
|
|
#[test]
|
|
fn system_memory_load_program() {
|
|
let mut m = Chip8SystemMemory::new();
|
|
let mut program_to_load = vec![];
|
|
let file_to_load = format!("{}/2-ibm-logo.ch8", TEST_ROM_ROOT);
|
|
println!(
|
|
"Attempt to load {} from {}",
|
|
file_to_load,
|
|
std::env::current_dir().unwrap().display()
|
|
);
|
|
let mut file_to_load_from = File::open(file_to_load).expect("Unable to load sample rom");
|
|
file_to_load_from
|
|
.read_to_end(&mut program_to_load)
|
|
.expect("Unable to read sample rom");
|
|
m.load_program(program_to_load.clone().into());
|
|
let expected_at_200 = program_to_load[0];
|
|
assert_eq!(m.peek(0x200), expected_at_200);
|
|
}
|