context("sanitise_dim")
test_that("sanitise_dim returns NULL for zero-length inputs, with appropriate warnings", {
expect_identical(sanitise_dim(NULL), NULL)
n <- integer()
y <- expect_identical(suppressWarnings(sanitise_dim(n)), NULL)
expect_warning(sanitise_dim(n), "`n` has length zero and will be treated as NULL.")
})
test_that("sanitise_dim returns the first element or NULL for non-positive integer inputs, with appropriate warnings", {
n <- 1:2
expect_identical(suppressWarnings(sanitise_dim(n)), 1L)
expect_warning(sanitise_dim(n), "Only the first value of `n` will be used.")
n2 <- 0:1
expect_identical(suppressWarnings(sanitise_dim(n2)), NULL)
expect_warning(sanitise_dim(n2), "Only the first value of `n2` will be used.")
expect_warning(sanitise_dim(n2), "`n2` is missing or less than 1 and will be treated as NULL.")
})
test_that("sanitise_dim returns a NULL for missing inputs, with appropriate warnings", {
n <- NA_integer_
expect_identical(suppressWarnings(sanitise_dim(n)), NULL)
expect_warning(sanitise_dim(n), "`n` is missing or less than 1 and will be treated as NULL.")
})
test_that("sanitise_dim returns a positive integer or NULL for non-integer inputs, with appropriate warnings", {
n <- 1.5
expect_identical(suppressWarnings(sanitise_dim(n)), 1L)
expect_warning(sanitise_dim(n), "Coercing `n` to be an integer.")
n2 <- 0.9999999
expect_identical(suppressWarnings(sanitise_dim(n2)), NULL)
expect_warning(sanitise_dim(n2), "Coercing `n2` to be an integer.")
expect_warning(sanitise_dim(n2), "`n2` is missing or less than 1 and will be treated as NULL.")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.