diff --git a/unit_tests/tests/lua/test_lua_basic.cpp b/unit_tests/tests/lua/test_lua_basic.cpp index 44e44162e5..5a8cf57c1d 100644 --- a/unit_tests/tests/lua/test_lua_basic.cpp +++ b/unit_tests/tests/lua/test_lua_basic.cpp @@ -25,6 +25,16 @@ TEST(LuaBasic, MathLib) { EXPECT_FLOAT_EQ(result, 1.0f); } +TEST(LuaBasic, MathLibFloor) { + auto script = R"( + function testFunc() + return math.floor(3.2) + end + )"; + + EXPECT_FLOAT_EQ(testLuaReturnsNumber(script), 3.0f); +} + TEST(LuaBasic, ReturnsInteger) { auto script = R"( function testFunc() diff --git a/unit_tests/tests/lua/test_lua_e65.cpp b/unit_tests/tests/lua/test_lua_e65.cpp index c448610395..87af8ef4fe 100644 --- a/unit_tests/tests/lua/test_lua_e65.cpp +++ b/unit_tests/tests/lua/test_lua_e65.cpp @@ -28,3 +28,21 @@ TEST(LuaE65, Rpm) { EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 845); } + +TEST(LuaE65, sumChecksum) { + // checksum is first byte + // id = A8, packet: + // 12 AD 05 A0 05 0F 00 02 + + const char* realdata = R"( + + function testFunc() + canID = 0xA8 + data = { 0xAD, 0x05, 0xA0, 0x05, 0x0F, 0x00, 0x02 } + checksum = data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + canID + checksum = math.floor (checksum / 0x100) + (checksum & 0xff) + return checksum; + end)"; + + EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 0x12); +}