context("assertions")
# assert_is_flag() -------------------------------------------------------------
test_that("assert_is_flag accepts flag arguments", {
arg_name <- TRUE
expect_silent(assert_is_flag(arg_name))
arg_name <- FALSE
expect_silent(assert_is_flag(arg_name))
})
test_that("assert_is_flag throws error for non-flag arguments", {
arg_name <- NULL
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "not NULL")
arg_name <- c(NULL, NULL)
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "not NULL")
arg_name <- NA
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "not NA")
arg_name <- c(NA, NA)
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "not NA")
arg_name <- 1
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "logical vector")
arg_name <- 1:3
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "logical vector")
arg_name <- letters
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "logical vector")
arg_name <- c(FALSE, TRUE)
expect_error(assert_is_flag(arg_name), "arg_name")
expect_error(assert_is_flag(arg_name), "vector with length equal to 1")
})
test_that("assert_is_flag returns original argument name of calling function", {
path <- fs::file_temp()
expect_error(wflow_start(path, git = NULL), "git")
expect_error(wflow_start(path, git = NA), "git")
expect_error(wflow_start(path, git = 1), "git")
expect_error(wflow_start(path, git = letters), "git")
expect_error(wflow_start(path, git = c(TRUE, TRUE)), "git")
})
# assert_is_single_directory() -------------------------------------------------------------
test_that("assert_is_single_directory accepts directory arguments", {
directory_name <- fs::file_temp()
fs::dir_create(directory_name)
expect_silent(assert_is_single_directory(directory_name))
})
test_that("assert_is_single_directory throws error for non-directory arguments", {
arg_name <- NULL
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "not NULL")
arg_name <- c(NULL, NULL)
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "not NULL")
arg_name <- NA
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "not NA")
arg_name <- c(NA, NA)
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "not NA")
arg_name <- 1
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "character vector")
arg_name <- 1:3
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "character vector")
arg_name <- letters
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "vector with length equal to 1")
arg_name <- c(FALSE, TRUE)
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "character vector")
arg_name <- "path/to/non-existent-directory"
expect_error(assert_is_single_directory(arg_name), "arg_name")
expect_error(assert_is_single_directory(arg_name), "directory")
})
# assert_has_length() ----------------------------------------------------------
test_that("assert_has_length() accepts valid lengths", {
expect_silent(assert_has_length(letters[1], 1))
expect_silent(assert_has_length(letters[1], 1, comparison = "equal to"))
expect_silent(assert_has_length(letters[1:2], 1, comparison = "greater than"))
expect_silent(assert_has_length(letters[1], 1, comparison = "greater than or equal to"))
expect_silent(assert_has_length(letters[1:2], 1, comparison = "greater than or equal to"))
expect_silent(assert_has_length(character(), 1, comparison = "less than"))
expect_silent(assert_has_length(letters[1], 5, comparison = "less than"))
expect_silent(assert_has_length(letters[1], 5, comparison = "less than or equal to"))
expect_silent(assert_has_length(letters[1:5], 5, comparison = "less than or equal to"))
})
test_that("assert_has_length() throws error for invalid lengths", {
expect_error(
assert_has_length(letters[1:2], 1),
"vector with length equal to 1"
)
expect_error(
assert_has_length(letters[1], 2, comparison = "equal to"),
"vector with length equal to 2"
)
expect_error(
assert_has_length(letters[1], 2, comparison = "greater than or equal to"),
"vector with length greater than or equal to 2"
)
expect_error(
assert_has_length(letters[1:2], 2, comparison = "greater than"),
"vector with length greater than 2"
)
expect_error(
assert_has_length(character(), 1, comparison = "greater than or equal to"),
"vector with length greater than or equal to 1"
)
expect_error(
assert_has_length(letters[1:5], 5, comparison = "less than"),
"vector with length less than 5"
)
expect_error(
assert_has_length(letters[1:6], 5, comparison = "less than or equal to"),
"vector with length less than or equal to 5"
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.