22 lines
563 B
Rust
22 lines
563 B
Rust
extern crate rustijvm;
|
|
|
|
use std::rc::Rc;
|
|
use std::sync::Mutex;
|
|
use std::io::{Cursor, Seek, SeekFrom, Read};
|
|
|
|
#[test]
|
|
fn advanced4_tanenbaum() {
|
|
let rc = Rc::new(Mutex::new(Cursor::new(Vec::new())));
|
|
let mut machine = rustijvm::Machine::new_from_file("files/advanced/Tanenbaum.ijvm").unwrap();
|
|
machine.set_output(rc.clone());
|
|
machine.run().unwrap();
|
|
|
|
let mut out = rc.lock().unwrap();
|
|
let mut string = String::new();
|
|
|
|
out.seek(SeekFrom::Start(0)).unwrap();
|
|
out.read_to_string(&mut string).unwrap();
|
|
|
|
assert_eq!(string, "OK");
|
|
}
|