test_that("chunk", { x = 1:10 n_chunks = 2 expect_integer(chunk(length(x), n_chunks = n_chunks), len = length(x), lower = 1, upper = n_chunks, any.missing = FALSE) x = 1:10 n_chunks = 1 expect_integer(chunk(length(x), n_chunks = n_chunks), len = length(x), lower = 1, upper = n_chunks, any.missing = FALSE) x = 1:10 n_chunks = 10 expect_integer(chunk(length(x), n_chunks = n_chunks), len = length(x), lower = 1, upper = n_chunks, any.missing = FALSE) x = 1:10 n_chunks = 20 expect_integer(chunk(length(x), n_chunks = n_chunks), len = length(x), lower = 1, upper = n_chunks, any.missing = FALSE) x = integer(0) n_chunks = 20 expect_integer(chunk(length(x), n_chunks = n_chunks), len = length(x), lower = 1, upper = n_chunks, any.missing = FALSE) x = 1:10 chunk_size = 3 res = chunk(length(x), chunk_size = chunk_size) expect_integer(res, len = length(x), lower = 1, upper = length(x), any.missing = FALSE) expect_integer(table(res), lower = 1, upper = chunk_size, any.missing = FALSE) x = 1:10 chunk_size = 1 res = chunk(length(x), chunk_size = chunk_size) expect_integer(res, len = length(x), lower = 1, upper = length(x), any.missing = FALSE) expect_integer(table(res), lower = 1, upper = chunk_size, any.missing = FALSE) expect_equal(chunk(0, chunk_size = 1), integer(0)) expect_equal(chunk(0, n_chunks = 1), integer(0)) x = 1:10 n_chunks = 2 res = c(rep(1, 5), rep(2, 5)) expect_equal(chunk(length(x), n_chunks = n_chunks, shuffle = FALSE), res) res = chunk_vector(letters[1:10], n_chunks = 2) expect_list(res, types = "character", len = 2) expect_subset(res[[1]], letters[1:10]) expect_subset(res[[2]], letters[1:10]) expect_character(unlist(res), unique = TRUE) })