pub mod common; use common::run_test_for_symbols; #[test] fn test_minus() { run_test_for_symbols( "-1; // should be 18446744069414584320 in goldilocks", vec![("!!", "18446744069414584320")], ); run_test_for_symbols("-(-1);", vec![("!!", "1")]); } #[test] fn test_large() { run_test_for_symbols( "18446744069414584323; // 2 above the order in goldilocks", vec![("!!", "2")], ); } #[test] fn test_div() { run_test_for_symbols( "1 / 2; // should be 9223372034707292161 in goldilocks", vec![("!!", "9223372034707292161")], ); run_test_for_symbols("2 * (1 / 2);", vec![("!!", "1")]); } #[test] fn test_let_1() { run_test_for_symbols("let abc = 2 + 3 * 2 ^ 3 - 1;", vec![("abc", "25")]); } #[test] fn test_let_2() { run_test_for_symbols( "let x = 4 * 3; let y = 12 + x;", vec![("x", "12"), ("y", "24")], ); } #[test] fn expr_many_terminators() { run_test_for_symbols("let x = 22;;;;;;;", vec![("x", "22")]); }