use asmachina::{MachineW};
#[test]
fn test_complex_program_with_stack_and_io() {
let mut machine = MachineW::new();
let program = vec![
(0b00100 << 11) | 20, (0b01010 << 11) | 0, (0b00100 << 11) | 21, (0b01001 << 11) | 0, (0b00001 << 11) | 21, (0b01111 << 11) | 0, (0b00111 << 11) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 35, ];
assert!(machine.load_program(&program).is_ok());
assert!(machine.run().is_ok());
assert_eq!(machine.ak, 60); assert_eq!(machine.get_output_buffer(), &[60]);
assert_eq!(machine.is_running, false);
}