Port arthur mandelbread
This commit is contained in:
66
tests/advanced7.rs
Normal file
66
tests/advanced7.rs
Normal file
@@ -0,0 +1,66 @@
|
||||
extern crate rustijvm;
|
||||
|
||||
use std::io::{SeekFrom, Seek, Read};
|
||||
|
||||
#[test]
|
||||
#[ignore]
|
||||
fn advanced7() {
|
||||
let output = rustijvm::stubs::output_stub();
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/mandelbread.ijvm").unwrap();
|
||||
machine.set_output(output.clone());
|
||||
machine.run().unwrap();
|
||||
|
||||
let expected = vec![
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" t` ",
|
||||
" `':``'t@ ",
|
||||
" ``':L:`` ",
|
||||
" `t:':C@@8t'`` ",
|
||||
" `'f@@@@@@@@@@L` ",
|
||||
" ``0@@@@@@@@@@@'` ",
|
||||
" ::`'8'```''''':tf@@@@@@@C:'''`'`` `` ",
|
||||
" `fG@@G@::f@@@@@@@@@@@@@@@@@@@G@8:'`L''':'` ",
|
||||
" ``'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f@@@@8:@ ",
|
||||
" ``:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f` ",
|
||||
" ``:8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L`` ",
|
||||
" 't`` `t`` ```'@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:8`",
|
||||
" `:tGt0:'':fG0:C'````''tC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G` ",
|
||||
" ```:f@@@0@@@@@@@@Gt:::t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t'' ",
|
||||
" ```C:GC@@@@@@@@@@@@@@@@f8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:' ",
|
||||
" 'C''::t0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f'` ",
|
||||
" ` ```':L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f` ",
|
||||
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L:'` ",
|
||||
" ` ```':L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f` ",
|
||||
" 'C''::t0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f'` ",
|
||||
" ```C:GC@@@@@@@@@@@@@@@@f8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:' ",
|
||||
" ```:f@@@0@@@@@@@@Gt:::t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t'' ",
|
||||
" `:tGt0:'':fG0:C'````''tC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G` ",
|
||||
" 't`` `t`` ```'@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:8`",
|
||||
" ``:8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L`` ",
|
||||
" ``:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f` ",
|
||||
" ``'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@f@@@@8:@ ",
|
||||
" `fG@@G@::f@@@@@@@@@@@@@@@@@@@G@8:'`L''':'` ",
|
||||
" ::`'8'```''''':tf@@@@@@@C:'''`'`` `` ",
|
||||
" ``0@@@@@@@@@@@'` ",
|
||||
" `'f@@@@@@@@@@L` ",
|
||||
" `t:':C@@8t'`` ",
|
||||
" ``':L:`` ",
|
||||
" `':``'t@ ",
|
||||
" t` ",
|
||||
" ",
|
||||
" ",
|
||||
];
|
||||
|
||||
let mut outbuf = output.lock().unwrap();
|
||||
let mut actual = String::new();
|
||||
|
||||
outbuf.seek(SeekFrom::Start(0)).unwrap();
|
||||
outbuf.read_to_string(&mut actual).unwrap();
|
||||
|
||||
for (line, (act, exp)) in actual.lines().zip(expected).enumerate() {
|
||||
assert_eq!(act, exp, "mismatch on line {}", line + 1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user