use lambda::eval_file; #[test] fn interpreter_can_read_and_interpret_file() { assert_eq!("12 foo true (x x)", eval_file("sample/test.txt")); assert_eq!("true", eval_file("sample/test_full.txt")); assert_eq!("1", eval_file("sample/test_normal.txt")); assert_eq!("13", eval_file("sample/test_let.txt")); } #[test] fn repl_can_read_and_interpret_input() { let input = "(def id (lam x x))\n(id 12)"; let mut output = Vec::new(); lambda::repl(&mut input.as_bytes(), &mut output); assert_eq!("> true\n> 12\n> ", String::from_utf8(output).unwrap()); }