# calling expect_custom directly with some custom data
x <- expect_custom(TRUE, "Test", extra_data = 1:5, more_data = "Hello")
str(x)
# an example expectation (note additional libraries used)
library(rlang)
expect_example <- function(var, data = get_testdata()) {
act <- quasi_label(enquo(data))
act$var_desc <- expr_label(get_expr(enquo(var)))
act$var <- expr_text(get_expr(enquo(var)))
act$result <- act$val[[act$var]] > 0
act$result[is.na(act$result)] <- FALSE
expect_custom(
all(act$result, na.rm = TRUE),
glue::glue("{act$lab} has {sum(!act$result, na.rm = TRUE)} cases with \\
{act$var_desc} not greater than 0."),
failed_count = sum(!act$result, na.rm = TRUE),
total_count = sum(!is.na(act$result))
)
invisible(act$result)
}
try(expect_example(x, data = data.frame(x = c(NA, -2:2))))
Run the code above in your browser using DataLab