upgraded bytearray test & added DBLview testing section

This commit is contained in:
RomanDonw 2026-08-04 22:40:59 +10:00
parent 5843e5828b
commit 074f01b1bb

View file

@ -37,36 +37,39 @@ assert(arr[3] == 6)
-- ============================= -- =============================
local arr2 = Bytearray({254, 255, 255, 255, 255, 255, 255, 255}) arr = Bytearray({254, 255, 255, 255, 255, 255, 255, 255})
--assert(U64view(arr2)[1] == 2 ^ 64 - 2) --assert(U64view(arr)[1] == 2 ^ 64 - 2)
assert(I64view(arr2)[1] == -2) assert(I64view(arr)[1] == -2)
assert(U32view(arr2)[1] == 2 ^ 32 - 2) assert(U32view(arr)[1] == 2 ^ 32 - 2)
assert(I32view(arr2)[1] == -2) assert(I32view(arr)[1] == -2)
assert(U16view(arr2)[1] == 2 ^ 16 - 2) assert(U16view(arr)[1] == 2 ^ 16 - 2)
assert(I16view(arr2)[1] == -2) assert(I16view(arr)[1] == -2)
assert(I8view(arr2)[1] == -2) assert(I8view(arr)[1] == -2)
assert(I8view(arr2)[2] == -1) assert(I8view(arr)[2] == -1)
assert(I32view(arr2)[2] == -1) assert(I32view(arr)[2] == -1)
local arr3 = Bytearray({0xFF, 0x7F}) arr = Bytearray({0xFF, 0x7F})
local arr3i16 = I16view(arr3) local arri16 = I16view(arr)
local arr3u16 = U16view(arr3) local arru16 = U16view(arr)
assert(arr3i16[1] == 32767) assert(arri16[1] == 32767)
arr3u16[1] = arr3u16[1] + 1 arru16[1] = arru16[1] + 1
assert(arr3i16[1] == -32768) assert(arri16[1] == -32768)
assert(arr3u16[1] == 32768) assert(arru16[1] == 32768)
local arr4 = Bytearray({0x9A, 0x99, 0x59, 0x40}) -- approx. equal 3.4 in hexadecimal representation of single-precision float number. arr = Bytearray({0x9A, 0x99, 0x59, 0x40}) -- approx. equal 3.4 in hexadecimal representation of single-precision float number.
local arr4flt = FLTview(arr4) local arrflt = FLTview(arr)
local arr4u32 = U32view(arr4) local arru32 = U32view(arr)
assert(arr4flt[1] == 3.4000000953674316) assert(arrflt[1] == 3.4000000953674316)
assert(arr4u32[1] == 0x4059999A) assert(arru32[1] == 0x4059999A)
arr4flt[1] = arr4flt[1] + 0.1 arrflt[1] = arrflt[1] + 0.1
assert(arr4flt[1] == 3.5) assert(arrflt[1] == 3.5)
assert(arr4u32[1] == 0x40600000) -- hexadecimal representation of 3.5 single-precision float number. assert(arru32[1] == 0x40600000) -- hexadecimal representation of 3.5 single-precision float number.
arr = Bytearray({0x18, 0x2D, 0x44, 0x54, 0xFB, 0x21, 9, 64}) -- hexadecimal representation of 3.141592653589793 double-precision float number.
assert(DBLview(arr)[1] == 3.141592653589793)
-- ============================================= -- =============================================
@ -80,21 +83,21 @@ function barrtostr(barr)
return outstr return outstr
end end
local arr5 = Bytearray({0, 5, 34, 87, 21, 0, 210}) arr = Bytearray({0, 5, 34, 87, 21, 0, 210})
assert(barrtostr(arr5) == "0|5|34|87|21|0|210") assert(barrtostr(arr) == "0|5|34|87|21|0|210")
arr5:move(2, 3, 4) arr:move(2, 3, 4)
assert(barrtostr(arr5) == "0|5|5|34|87|21|210") assert(barrtostr(arr) == "0|5|5|34|87|21|210")
local arr6 = Bytearray({1, 2, 3, 4, 6, 7, 8}) local arr2 = Bytearray({1, 2, 3, 4, 6, 7, 8})
assert(barrtostr(arr6) == "1|2|3|4|6|7|8") assert(barrtostr(arr2) == "1|2|3|4|6|7|8")
arr5:copy(4, arr6, 2, 3) arr:copy(4, arr2, 2, 3)
assert(barrtostr(arr6) == "1|34|87|21|6|7|8") assert(barrtostr(arr2) == "1|34|87|21|6|7|8")
arr5:fill(nil, nil, 192) arr:fill(nil, nil, 192)
assert(barrtostr(arr5) == "192|192|192|192|192|192|192") assert(barrtostr(arr) == "192|192|192|192|192|192|192")
arr5:fill(nil, 3, 233) arr:fill(nil, 3, 233)
assert(barrtostr(arr5) == "233|233|233|233|233|233|233") assert(barrtostr(arr) == "233|233|233|233|233|233|233")
arr5:fill(2, nil, 254) arr:fill(2, nil, 254)
assert(barrtostr(arr5) == "254|254|254|254|254|254|254") assert(barrtostr(arr) == "254|254|254|254|254|254|254")
arr5:fill(2, 2, 66) arr:fill(2, 2, 66)
assert(barrtostr(arr5) == "254|66|66|254|254|254|254") assert(barrtostr(arr) == "254|66|66|254|254|254|254")