test_that("name_stages works correctly", {
s <- as.integer(10) # matrix dimension
# generate lists of matrices
x1 <- replicate(2, matrix(runif(s^2), s, s), simplify = FALSE)
y1 <- name_stages(x1)
expect_true(inherits(y1, "list"))
expect_true(inherits(y1[[1]], "matrix"))
expect_identical(nrow(y1[[1]]), s)
y2 <- name_stages(x1[[1]])
expect_true(inherits(y2, "matrix"))
expect_identical(nrow(y2), s)
y3 <- name_stages(x1[[1]], prefix = "", left_pad = FALSE)
expect_identical(rownames(y3), as.character(1:s))
y4 <- name_stages(x1[[1]], names = LETTERS[1:s], prefix = NULL)
expect_identical(rownames(y4), LETTERS[1:s])
})
test_that("name_stages warns and fails gracefully", {
s <- 10 # matrix dimension
sp1 <- s + 1
# generate lists of matrices
x1 <- x2 <- replicate(2, matrix(runif(s^2), s, s), simplify = FALSE)
x2[[3]] <- matrix(runif(sp1^2), sp1, sp1)
# passing wrong object types
expect_error(name_stages("a"))
expect_error(name_stages(matrix(1:3)))
expect_error(name_stages(list("a", "b", "c")))
# passing list of matrices with different dimensions
expect_error(name_stages(x2))
# overwriting existing stage names
expect_warning(name_stages(mat_u_named))
# supplying both prefix and names arguments
expect_warning(name_stages(x1, names = LETTERS[1:s]))
# incorrect number of stage names
expect_error(name_stages(x1, names = letters[1:(s - 1)], prefix = NULL))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.