Fix tests
This commit is contained in:
@@ -100,23 +100,24 @@ fn task4_iteration_load() {
|
||||
|
||||
#[test]
|
||||
fn task4_iinc() {
|
||||
use rustijvm::value::Value::Int;
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task4/IINCTest.ijvm").unwrap();
|
||||
|
||||
steps(&mut machine, 4);
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(0));
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(0));
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(&Int(0)));
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(&Int(0)));
|
||||
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(0));
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(&Int(0)));
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(1));
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(&Int(1)));
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(4));
|
||||
assert_eq!(machine.cur_frame().get(0), Ok(&Int(4)));
|
||||
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(0));
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(&Int(0)));
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(-1));
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(&Int(-1)));
|
||||
steps(&mut machine, 1);
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(-4));
|
||||
assert_eq!(machine.cur_frame().get(1), Ok(&Int(-4)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user