context("test-uint24")
test_that("uint24 to raw and back works", {
# int24 is tricky as 'readBin' does not accept a 'size = 3L' argumnet
# (only 1, 2 and 4)
raw_vec <- as.raw(1:3)
uint24_vec <- raw_to_uint24(raw_vec, endian = 'little')
expect_identical(uint24_vec, 3L*256L*256L + 2L * 256L + 1L)
raw_vec2 <- uint24_to_raw(uint24_vec, endian = 'little')
expect_identical(raw_vec, raw_vec2)
uint24_vec <- raw_to_uint24(raw_vec, endian = 'big')
expect_identical(uint24_vec, 1L*256L*256L + 2L * 256L + 3L)
raw_vec2 <- uint24_to_raw(uint24_vec, endian = 'big')
expect_identical(raw_vec, raw_vec2)
expect_identical(convert_type(uint24_vec, 'uint24', 'uint8', endian = 'big' ), 1:3)
expect_identical(convert_type(uint24_vec, 'uint24', 'uint8', endian = 'little'), 3:1)
expect_identical(convert_type(uint24_vec, 'uint24', 'hex24'), '010203')
raw_vec <- as.raw(1:4)
expect_error(convert_type(raw_vec, 'raw', 'uint24'), "multiple of 3")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.