Nothing
testthat::test_that("validate_one_row_per_id throws error when duplicates exist", {
data <- data.frame(id = c(1, 2, 1), value = 1:3)
testthat::expect_error(
validate_one_row_per_id(data, key = "id"),
"Found more than one row per id"
)
})
testthat::test_that("validate_one_row_per_id passes when no duplicates exist", {
data <- data.frame(id = 1:3, value = 1:3)
testthat::expect_silent(validate_one_row_per_id(data, key = "id"))
})
testthat::test_that("validate_one_row_per_id uses default key", {
data <- data.frame(USUBJID = 1:3, STUDYID = rep(1, 3), value = 1:3)
testthat::expect_silent(validate_one_row_per_id(data))
})
testthat::test_that("validate_in throws error when x is not in choices", {
testthat::expect_error(
validate_in("d", c("a", "b", "c"), "Value not in choices"),
"Value not in choices"
)
})
testthat::test_that("validate_in passes when x is in choices", {
testthat::expect_silent(validate_in("a", c("a", "b", "c"), "Value not in choices"))
})
testthat::test_that("validate_in throws error when x is empty", {
testthat::expect_error(
validate_in(character(0), c("a", "b", "c"), "Value not in choices"),
"Value not in choices"
)
})
testthat::test_that("validate_in throws error when choices is empty", {
testthat::expect_error(
validate_in("a", character(0), "Value not in choices"),
"Value not in choices"
)
})
testthat::test_that("validate_in works with multiple values", {
testthat::expect_silent(validate_in(c("a", "b"), c("a", "b", "c"), "Value not in choices"))
testthat::expect_error(
validate_in(c("a", "d"), c("a", "b", "c"), "Value not in choices"),
"Value not in choices"
)
})
testthat::test_that("validate_has_elements throws error when x is empty", {
testthat::expect_error(
validate_has_elements(character(0), "No elements"),
"No elements"
)
})
testthat::test_that("validate_has_elements passes when x has elements", {
testthat::expect_silent(validate_has_elements(c("a", "b"), "No elements"))
})
testthat::test_that("validate_no_intersection throws error when x and y intersect", {
testthat::expect_error(
validate_no_intersection(c(1, 2, 3), c(3, 4, 5), "Overlap detected"),
"Overlap detected"
)
})
testthat::test_that("validate_no_intersection passes when x and y do not intersect", {
testthat::expect_silent(validate_no_intersection(c(1, 2), c(3, 4), "Overlap detected"))
})
testthat::test_that("validate_has_variable throws error when variable is missing", {
data <- data.frame(x = 1:3, y = 1:3)
testthat::expect_error(
validate_has_variable(data, "z"),
"does not have the required variables"
)
})
testthat::test_that("validate_has_variable passes when variable exists", {
data <- data.frame(x = 1:3, y = 1:3)
testthat::expect_silent(validate_has_variable(data, "x"))
})
testthat::test_that("validate_has_variable works with multiple variables", {
data <- data.frame(x = 1:3, y = 1:3, z = 1:3)
testthat::expect_silent(validate_has_variable(data, c("x", "y")))
testthat::expect_error(
validate_has_variable(data, c("x", "w")),
"does not have the required variables"
)
})
testthat::test_that("validate_has_variable uses custom message when provided", {
data <- data.frame(x = 1:3)
testthat::expect_error(
validate_has_variable(data, "z", msg = "Custom error message"),
"Custom error message"
)
})
testthat::test_that("validate_has_variable passes when varname is empty", {
data <- data.frame(x = 1:3)
testthat::expect_silent(validate_has_variable(data, character(0)))
})
testthat::test_that("validate_n_levels throws error when levels less than min_levels", {
x <- factor(c("a", "b"))
testthat::expect_error(
validate_n_levels(x, min_levels = 3, max_levels = 10, var_name = "x"),
"needs minimum 3 level"
)
})
testthat::test_that("validate_n_levels throws error when levels greater than max_levels", {
x <- factor(letters[1:15])
testthat::expect_error(
validate_n_levels(x, min_levels = 1, max_levels = 10, var_name = "x"),
"needs minimum 1 level\\(s\\) and maximum 10 level\\(s\\)"
)
})
testthat::test_that("validate_n_levels passes when levels are within range", {
x <- factor(c("a", "b", "c"))
testthat::expect_silent(validate_n_levels(x, min_levels = 2, max_levels = 5, var_name = "x"))
})
testthat::test_that("validate_n_levels works with only min_levels", {
x <- factor(c("a", "b"))
testthat::expect_silent(validate_n_levels(x, min_levels = 2, max_levels = NULL, var_name = "x"))
testthat::expect_error(
validate_n_levels(x, min_levels = 3, max_levels = NULL, var_name = "x"),
"needs minimum 3 levels"
)
})
testthat::test_that("validate_n_levels works with only max_levels", {
x <- factor(letters[1:5])
testthat::expect_silent(validate_n_levels(x, min_levels = NULL, max_levels = 10, var_name = "x"))
testthat::expect_error(
validate_n_levels(x, min_levels = NULL, max_levels = 3, var_name = "x"),
"needs maximum 3 level"
)
})
testthat::test_that("validate_n_levels works with non-factor vectors", {
x <- c("a", "b", "c")
testthat::expect_silent(validate_n_levels(x, min_levels = 2, max_levels = 5, var_name = "x"))
})
testthat::test_that("validate_n_levels works when both min and max are NULL", {
x <- factor(c("a", "b"))
testthat::expect_silent(validate_n_levels(x, var_name = "x"))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.