| local v=require("contract_c") | |
| v.test_preassert(1, 2) | |
| assert(not pcall(function () v.test_preassert(-1, 3) end), "Preassertions") | |
| v.test_postassert(3) | |
| assert(not pcall(function () v.test_postassert(-3) end), "Postassertions") | |
| v.test_prepost(2, 3) | |
| v.test_prepost(5, -4) | |
| assert(not pcall(function () v.test_prepost(-3, 4) end), "Preassertions") | |
| assert(not pcall(function () v.test_prepost(4, -10) end), "Postassertions") | |
| assert(v.test_arg_names(1, -1) == 0, "Parameter names") | |
| assert(not pcall(function () v.test_arg_names(-1, 1) end), "Parameter names") | |
| assert(v.test_result_name(-1) == 1, "Result name") | |
| assert(not pcall(function () v.test_result_name(1) end), "Result name") | |
| local size = v.ContractSize() | |
| size.n = 2 | |
| size.test_member_names = 3 | |
| assert(v.test_member_names(size, 2) == 5, "Member names") | |
| assert(not pcall(function () v.test_member_names(size, 1) end), "Member names") | |
| assert(v.test_literal_name("a") == 97, "Literal name") | |
| assert(not pcall(function () v.test_literal_name("n") end), "Literal name") |