library(pizzarr) # --- Metadata2 encode/decode round-trip --- test_that("Metadata2 encode/decode round-trips a simple list", { m <- Metadata2$new() data <- list(foo = "bar", num = 42) encoded <- m$encode_metadata(data) expect_type(encoded, "raw") decoded <- m$decode_metadata(encoded) expect_equal(decoded$foo, list("bar")) expect_equal(decoded$num, list(42)) }) test_that("Metadata2 decode_metadata handles list input (passthrough)", { m <- Metadata2$new() data <- list(foo = "bar") result <- m$decode_metadata(data) expect_equal(result, data) }) test_that("Metadata2 decode_metadata handles NULL input", { m <- Metadata2$new() result <- m$decode_metadata(NULL) expect_null(result) }) # --- Array metadata --- test_that("Metadata2 encode_array_metadata adds zarr_format=2", { m <- Metadata2$new() meta <- list( shape = list(10, 20), chunks = list(5, 5), dtype = jsonlite::unbox("