test_that("mpm_collapse works correctly", {
c1 <- list(1:2, 3:4)
c2 <- list(1, 2, 3, 4) # should yield same as original
c3 <- list(c("sm", "md"), c("lg", "xl")) # should yield same as c1
c4 <- list(stage1 = c("sm", "md"), stage2 = c("lg", "xl"))
x1 <- mpm_collapse(mat_u, mat_f, collapse = c1)
x2 <- mpm_collapse(mat_u, mat_f, collapse = c2)
x3 <- mpm_collapse(mat_u_named, mat_f_named, collapse = c3)
x4 <- mpm_collapse(mat_u_named, mat_f_named, collapse = c4)
expect_type(x1, "list")
expect_length(x1, 4)
expect_true(all(x1$matC == 0))
expect_identical(ncol(x1$matA), length(c1))
expect_identical(ncol(x2$matA), length(c2))
expect_identical(ncol(x3$matA), length(c3))
expect_identical(ncol(x4$matA), length(c4))
expect_identical(x2$matU, mat_u)
expect_identical(x2$matF, mat_f)
expect_identical(x1, x3)
expect_identical(colnames(x4$matA), names(c4))
})
test_that("mpm_collapse warns and fails gracefully", {
expect_error(mpm_collapse(mat_u_na, mat_f, collapse = list(1:2, 3:4)))
expect_error(mpm_collapse(mat_u_named, mat_f_named, collapse = list(1:4, 5)))
expect_error(mpm_collapse(mat_u_named, mat_f_named,
collapse = list(c("sm", "md", "lg", "xl"), "xxl")
))
expect_error(mpm_collapse(mat_u_named, mat_f_named,
collapse = list(1:3, "xl")
))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.