test_that("can compact missing elements", {
x <- list(NULL, 1, NULL)
expect_identical(list_drop_empty(x), list(1))
})
test_that("can compact empty elements", {
x <- list(1, NULL, integer(), NULL)
expect_identical(list_drop_empty(x), list(1))
})
test_that("emptyness works with data frames", {
x <- data_frame()
y <- data_frame(.size = 2L)
lst <- list(x, y)
expect_identical(list_drop_empty(lst), list(y))
})
test_that("emptyness works with rcrd types", {
x <- new_rcrd(list(foo = integer(), bar = numeric()))
y <- new_rcrd(list(foo = 1L, bar = 1))
lst <- list(x, y)
expect_identical(list_drop_empty(lst), list(y))
})
test_that("works with empty lists", {
expect_identical(list_drop_empty(list()), list())
})
test_that("retains list type", {
x <- list_of(NULL, integer())
expect_identical(list_drop_empty(x), list_of(.ptype = integer()))
})
test_that("validates `x`", {
expect_error(list_drop_empty(1), "must be a list")
expect_error(list_drop_empty(data_frame()), "must be a list")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.