Fix tests

This commit is contained in:
2019-05-29 15:38:00 +02:00
parent ba0fca8755
commit 23cc193333
3 changed files with 27 additions and 16 deletions

View File

@@ -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)));
}