| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | #include "pch.h" | |||
| 2 | #include "rusefi_lua.h" | |||
| 3 | #include "lua_lib.h" | |||
| 4 | ||||
| 5 | 4 | TEST(LuaVag, Checksum) { | ||
| 6 | 1 | const char* realdata = VAG_CHECKSUM R"( | ||
| 7 | ||||
| 8 | function testFunc() | |||
| 9 | data = { 0xE0, 0x20, 0x20, 0x7E, 0xFE, 0xFF, 0xFF, 0x60 } | |||
| 10 | return xorChecksum(data, 8) | |||
| 11 | end | |||
| 12 | )"; | |||
| 13 | ||||
| 14 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 0x60); | |
| 15 | 1 | } | ||
| 16 | ||||
| 17 | // LSB (Least Significant Byte comes first) "Intel" | |||
| 18 | 4 | TEST(LuaVag, packMotor1) { | ||
| 19 | 1 | const char* realdata = PRINT_ARRAY ARRAY_EQUALS SET_TWO_BYTES_LSB R"( | ||
| 20 | ||||
| 21 | function testFunc() | |||
| 22 | engineTorque = 15.21 | |||
| 23 | rpm = 1207.1 | |||
| 24 | innerTorqWithoutExt = 21.6 | |||
| 25 | tps = 31.6 | |||
| 26 | torqueLoss = 9.75 | |||
| 27 | requestedTorque = 21.84 | |||
| 28 | ||||
| 29 | canMotor1 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } | |||
| 30 | ||||
| 31 | canMotor1[2] = engineTorque / 0.39 | |||
| 32 | setTwoBytesLsb(canMotor1, 2, rpm / 0.25) | |||
| 33 | canMotor1[5] = innerTorqWithoutExt / 0.4 | |||
| 34 | canMotor1[6] = tps / 0.4 | |||
| 35 | canMotor1[7] = torqueLoss / 0.39 | |||
| 36 | canMotor1[8] = requestedTorque / 0.39 | |||
| 37 | ||||
| 38 | print(arrayToString(canMotor1)) | |||
| 39 | ||||
| 40 | expected = { 0x00, 0x27, 0xDC, 0x12, 0x36, 0x4F, 0x19, 0x38 } | |||
| 41 | return equals(canMotor1, expected) | |||
| 42 | end | |||
| 43 | )"; | |||
| 44 | ||||
| 45 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 0); | |
| 46 | 1 | } | ||
| 47 | ||||
| 48 | #define realMotor1Packet "\ndata = { 0x00, 0x27, 0x8A, 0x1A, 0x36, 0x4F, 0x19, 0x38}\n " | |||
| 49 | ||||
| 50 | 4 | TEST(LuaVag, unpackMotor1_engine_torq) { | ||
| 51 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor1Packet R"( | ||
| 52 | function testFunc() | |||
| 53 | engineTorque = getBitRange(data, 8, 8) * 0.39 | |||
| 54 | return engineTorque | |||
| 55 | end | |||
| 56 | )"; | |||
| 57 | ||||
| 58 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 15.21); | |
| 59 | 1 | } | ||
| 60 | ||||
| 61 | 4 | TEST(LuaVag, unpackMotor1_rpm) { | ||
| 62 | 1 | const char* realdata = GET_BIT_RANGE_LSB realMotor1Packet R"( | ||
| 63 | function testFunc() | |||
| 64 | rpm = getBitRange(data, 16, 16) * 0.25 | |||
| 65 | return rpm | |||
| 66 | end | |||
| 67 | )"; | |||
| 68 | ||||
| 69 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 1698.5); | |
| 70 | 1 | } | ||
| 71 | ||||
| 72 | 4 | TEST(LuaVag, unpackMotor1_inner_torq) { | ||
| 73 | 1 | const char* realdata = GET_BIT_RANGE_LSB realMotor1Packet R"( | ||
| 74 | function testFunc() | |||
| 75 | innerTorqWithoutExt = getBitRange(data, 32, 8) * 0.4 | |||
| 76 | return innerTorqWithoutExt | |||
| 77 | end | |||
| 78 | )"; | |||
| 79 | ||||
| 80 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 21.6); | |
| 81 | 1 | } | ||
| 82 | ||||
| 83 | 4 | TEST(LuaVag, unpackMotor1_tps) { | ||
| 84 | 1 | const char* realdata = GET_BIT_RANGE_LSB realMotor1Packet R"( | ||
| 85 | function testFunc() | |||
| 86 | tps = getBitRange(data, 40, 8) * 0.4 | |||
| 87 | return tps | |||
| 88 | end | |||
| 89 | )"; | |||
| 90 | ||||
| 91 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 31.6); | |
| 92 | 1 | } | ||
| 93 | ||||
| 94 | 4 | TEST(LuaVag, unpackMotor1_torq_loss) { | ||
| 95 | 1 | const char* realdata = GET_BIT_RANGE_LSB realMotor1Packet R"( | ||
| 96 | function testFunc() | |||
| 97 | torqueLoss = getBitRange(data, 48, 8) * 0.39 | |||
| 98 | return torqueLoss | |||
| 99 | end | |||
| 100 | )"; | |||
| 101 | ||||
| 102 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 9.75); | |
| 103 | 1 | } | ||
| 104 | ||||
| 105 | ||||
| 106 | 4 | TEST(LuaVag, unpackMotor1_torq_req) { | ||
| 107 | 1 | const char* realdata = GET_BIT_RANGE_LSB realMotor1Packet R"( | ||
| 108 | function testFunc() | |||
| 109 | requestedTorque = getBitRange(data, 56, 8) * 0.39 | |||
| 110 | return requestedTorque | |||
| 111 | end | |||
| 112 | )"; | |||
| 113 | ||||
| 114 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 21.84); | |
| 115 | 1 | } | ||
| 116 | ||||
| 117 | #define realMotor3Packet "\ndata = { 0x00, 0x62, 0xFA, 0xDA, 0x22, 0x00, 0x00, 0xFA}\n " | |||
| 118 | ||||
| 119 | 4 | TEST(LuaVag, packMotor3) { | ||
| 120 | 1 | const char* script = SET_BIT_RANGE_LSB PRINT_ARRAY ARRAY_EQUALS SET_TWO_BYTES_LSB R"( | ||
| 121 | ||||
| 122 | function testFunc() | |||
| 123 | tps = 100 | |||
| 124 | iat = 25.5 | |||
| 125 | desired_wheel_torque = 284.7 | |||
| 126 | ||||
| 127 | canMotor3 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } | |||
| 128 | ||||
| 129 | canMotor3[2] = (iat + 48) / 0.75 | |||
| 130 | canMotor3[3] = tps / 0.4 | |||
| 131 | canMotor3[5] = 0x20 | |||
| 132 | setBitRange(canMotor3, 24, 12, math.floor(desired_wheel_torque / 0.39)) | |||
| 133 | canMotor3[8] = tps / 0.4 | |||
| 134 | ||||
| 135 | print(arrayToString(canMotor3)) | |||
| 136 | ||||
| 137 | expected = { 0x00, 0x62, 0xFA, 0xDA, 0x22, 0x00, 0x00, 0xFA } | |||
| 138 | return equals(canMotor3, expected) | |||
| 139 | end | |||
| 140 | )"; | |||
| 141 | ||||
| 142 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 0); | |
| 143 | 1 | } | ||
| 144 | ||||
| 145 | ||||
| 146 | 4 | TEST(LuaVag, unpackMotor3_tps) { | ||
| 147 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor3Packet R"( | ||
| 148 | function testFunc() | |||
| 149 | tps = getBitRange(data, 56, 8) * 0.40 | |||
| 150 | return tps | |||
| 151 | end | |||
| 152 | )"; | |||
| 153 | ||||
| 154 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 100); | |
| 155 | 1 | } | ||
| 156 | ||||
| 157 | 4 | TEST(LuaVag, unpackMotor3_pps) { | ||
| 158 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor3Packet R"( | ||
| 159 | function testFunc() | |||
| 160 | pps = getBitRange(data, 16, 8) * 0.40 | |||
| 161 | return pps | |||
| 162 | end | |||
| 163 | )"; | |||
| 164 | ||||
| 165 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 100); | |
| 166 | 1 | } | ||
| 167 | ||||
| 168 | 4 | TEST(LuaVag, setBitRange) { | ||
| 169 | { | |||
| 170 | 1 | const char* script = PRINT_ARRAY ARRAY_EQUALS SET_BIT_RANGE_LSB R"( | ||
| 171 | ||||
| 172 | function testFunc() | |||
| 173 | data = { 0x34, 0x56, 0x00 } | |||
| 174 | setBitRange(data, 4, 8, 0xAB) | |||
| 175 | ||||
| 176 | print(arrayToString(data)) | |||
| 177 | ||||
| 178 | expected = { 0xB4, 0x5A, 0x00 } | |||
| 179 | return equals(data, expected) | |||
| 180 | end | |||
| 181 | )"; | |||
| 182 | ||||
| 183 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 0); | |
| 184 | } | |||
| 185 | ||||
| 186 | { | |||
| 187 | 1 | const char* script = PRINT_ARRAY ARRAY_EQUALS SET_BIT_RANGE_LSB R"( | ||
| 188 | ||||
| 189 | function testFunc() | |||
| 190 | data = { 0x00, 0x00, 0x00 } | |||
| 191 | setBitRange(data, 5, 9, 0x1FF) | |||
| 192 | ||||
| 193 | print(arrayToString(data)) | |||
| 194 | ||||
| 195 | expected = { 0xE0, 0x3F, 0x00 } | |||
| 196 | return equals(data, expected) | |||
| 197 | end | |||
| 198 | )"; | |||
| 199 | ||||
| 200 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 0); | |
| 201 | } | |||
| 202 | ||||
| 203 | ||||
| 204 | { | |||
| 205 | 1 | const char* script = PRINT_ARRAY ARRAY_EQUALS SET_BIT_RANGE_LSB R"( | ||
| 206 | ||||
| 207 | function testFunc() | |||
| 208 | data = { 0xFF, 0xFF, 0x00 } | |||
| 209 | setBitRange(data, 5, 9, 0x0) | |||
| 210 | ||||
| 211 | print(arrayToString(data)) | |||
| 212 | ||||
| 213 | expected = { 0x1F, 0xC0, 0x00 } | |||
| 214 | return equals(data, expected) | |||
| 215 | end | |||
| 216 | )"; | |||
| 217 | ||||
| 218 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 0); | |
| 219 | } | |||
| 220 | ||||
| 221 | 1 | } | ||
| 222 | ||||
| 223 | 4 | TEST(LuaVag, unpackMotor3_iat) { | ||
| 224 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor3Packet R"( | ||
| 225 | function testFunc() | |||
| 226 | iat = getBitRange(data, 8, 8) * 0.75 - 48 | |||
| 227 | return iat | |||
| 228 | end | |||
| 229 | )"; | |||
| 230 | ||||
| 231 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 25.5); | |
| 232 | 1 | } | ||
| 233 | ||||
| 234 | 4 | TEST(Vag, unpackMotor3_desired_wheel_torque) { | ||
| 235 | 1 | uint8_t data[] = { 0x00, 0x62, 0xFA, 0xDA, 0x22, 0x00, 0x00, 0xFA}; | ||
| 236 | ||||
| 237 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_NEAR_M3(getBitRangeLsb(data, 24, 12) * 0.39, 284.7); | |
| 238 | 1 | } | ||
| 239 | ||||
| 240 | 4 | TEST(LuaVag, unpackMotor3_desired_wheel_torque) { | ||
| 241 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor3Packet R"( | ||
| 242 | function testFunc() | |||
| 243 | desired_wheel_torque = getBitRange(data, 24, 12) * 0.39 | |||
| 244 | return desired_wheel_torque | |||
| 245 | end | |||
| 246 | )"; | |||
| 247 | ||||
| 248 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 284.7); | |
| 249 | 1 | } | ||
| 250 | ||||
| 251 | #define realMotor6Packet "\ndata = { 0x3D, 0x54, 0x69, 0x7E, 0xFE, 0xFF, 0xFF, 0x80}\n " | |||
| 252 | ||||
| 253 | 4 | TEST(LuaVag, unpackMotor6_actual_torq) { | ||
| 254 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor6Packet R"( | ||
| 255 | function testFunc() | |||
| 256 | actualTorque = getBitRange(data, 16, 8) * 0.39 | |||
| 257 | return actualTorque | |||
| 258 | end | |||
| 259 | )"; | |||
| 260 | ||||
| 261 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 40.95); | |
| 262 | 1 | } | ||
| 263 | ||||
| 264 | 4 | TEST(LuaVag, unpackMotor6_target_torq) { | ||
| 265 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor6Packet R"( | ||
| 266 | function testFunc() | |||
| 267 | targetTorque = getBitRange(data, 8, 8) * 0.39 | |||
| 268 | return targetTorque | |||
| 269 | end | |||
| 270 | )"; | |||
| 271 | ||||
| 272 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 32.76); | |
| 273 | 1 | } | ||
| 274 | ||||
| 275 | 4 | TEST(LuaVag, unpackMotor6_feedback) { | ||
| 276 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor6Packet R"( | ||
| 277 | function testFunc() | |||
| 278 | feedbackGearbox = getBitRange(data, 40, 8) * 0.39 | |||
| 279 | return feedbackGearbox | |||
| 280 | end | |||
| 281 | )"; | |||
| 282 | ||||
| 283 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 99.45); | |
| 284 | 1 | } | ||
| 285 | ||||
| 286 | 4 | TEST(LuaVag, packMotor6) { | ||
| 287 | 1 | const char* script = PRINT_ARRAY ARRAY_EQUALS VAG_CHECKSUM R"( | ||
| 288 | ||||
| 289 | function testFunc() | |||
| 290 | actualTorque = 40.95 | |||
| 291 | targetTorque = 32.76 | |||
| 292 | feedbackGearbox = 99.45 | |||
| 293 | ||||
| 294 | motor6Data = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } | |||
| 295 | ||||
| 296 | motor6Data[2] = math.floor(targetTorque / 0.39) | |||
| 297 | motor6Data[3] = math.floor(actualTorque / 0.39) | |||
| 298 | motor6Data[6] = math.floor(feedbackGearbox / 0.39) | |||
| 299 | ||||
| 300 | xorChecksum(motor6Data, 1) | |||
| 301 | print(arrayToString(motor6Data)) | |||
| 302 | ||||
| 303 | expected = { 0xC2, 0x54, 0x69, 0x00, 0x00, 0xFF, 0x00, 0x00 } | |||
| 304 | return equals(motor6Data, expected) | |||
| 305 | end | |||
| 306 | )"; | |||
| 307 | ||||
| 308 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 0); | |
| 309 | 1 | } | ||
| 310 | ||||
| 311 | 4 | TEST(LuaVag, ChecksumMotor6) { | ||
| 312 | 1 | const char* realdata = VAG_CHECKSUM realMotor6Packet R"( | ||
| 313 | ||||
| 314 | function testFunc() | |||
| 315 | return xorChecksum(data, 1) | |||
| 316 | end | |||
| 317 | )"; | |||
| 318 | ||||
| 319 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 0x3D); | |
| 320 | 1 | } | ||
| 321 | ||||
| 322 | #define realMotor5Packet "\ndata = { 0x1C, 0x08, 0xF3, 0x55, 0x19, 0x00, 0x06, 0xAD}\n " | |||
| 323 | ||||
| 324 | 4 | TEST(LuaVag, ChecksumMotor5) { | ||
| 325 | 1 | const char* realdata = VAG_CHECKSUM realMotor5Packet R"( | ||
| 326 | ||||
| 327 | function testFunc() | |||
| 328 | return xorChecksum(data, 8) | |||
| 329 | end | |||
| 330 | )"; | |||
| 331 | ||||
| 332 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 0xAD); | |
| 333 | 1 | } | ||
| 334 | ||||
| 335 | 4 | TEST(LuaVag, unpackMotor5_fuel) { | ||
| 336 | 1 | const char* script = GET_BIT_RANGE_LSB realMotor5Packet R"( | ||
| 337 | function testFunc() | |||
| 338 | fuelConsumption = getBitRange(data, 16, 15) | |||
| 339 | return fuelConsumption | |||
| 340 | end | |||
| 341 | )"; | |||
| 342 | ||||
| 343 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(script).value_or(0), 22003); | |
| 344 | 1 | } | ||
| 345 |