Most tests yay
This commit is contained in:
37
tests/advanced3.rs
Normal file
37
tests/advanced3.rs
Normal file
@@ -0,0 +1,37 @@
|
||||
extern crate rustijvm;
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn advanced3_wide1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-wide1.ijvm").unwrap();
|
||||
|
||||
steps(&mut machine, 6);
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(0x1));
|
||||
steps(&mut machine, 2);
|
||||
assert_eq!(machine.cur_frame().get(257), Ok(0x2));
|
||||
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.get_tos(), Ok(0x1));
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.get_tos(), Ok(0x2));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn advanced3_wide2() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-wide2.ijvm").unwrap();
|
||||
|
||||
steps(&mut machine, 6);
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(0x1));
|
||||
steps(&mut machine, 2);
|
||||
assert_eq!(machine.cur_frame().get(32768), Ok(0x2));
|
||||
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.get_tos(), Ok(0x1));
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.get_tos(), Ok(0x2));
|
||||
}
|
||||
Reference in New Issue
Block a user