#include #include TEST_CASE("NativeFunction") { luwra::StateWrapper state; REQUIRE(state.runString("return function (x, y) return x + y end") == LUA_OK); auto fun = luwra::read>(state, -1); REQUIRE(fun(13, 37) == 50); luwra::NativeFunction fun2 = fun; REQUIRE(fun2(37.13, 13.37) == 50.5); } TEST_CASE("NativeFunction") { luwra::StateWrapper state; REQUIRE(state.runString("return function (x, y) returnValue = x + y end") == LUA_OK); auto fun = luwra::read>(state, -1); fun(13, 37); int returnValue = state.get("returnValue"); REQUIRE(returnValue == 50); } TEST_CASE("function") { luwra::StateWrapper state; REQUIRE(state.runString("return function (x, y) return x + y end") == LUA_OK); auto fun = luwra::read>(state, -1); REQUIRE(fun(13, 37) == 50); } TEST_CASE("function") { luwra::StateWrapper state; REQUIRE(state.runString("return function (x, y) returnValue = x + y end") == LUA_OK); auto fun = luwra::read>(state, -1); fun(13, 37); int returnValue = state.get("returnValue"); REQUIRE(returnValue == 50); }