Description Usage Arguments Value Note Examples
The workhorse of the package that creates an assertion from a predicate. If a condition isn't met, then an error is thrown. This function is exported for use by package developers so that they can create their own assert functions.
1 2 3 4 5 6 7 8 | assert_engine(
predicate,
...,
msg = "The assertion failed.",
what = c("all", "any"),
na_ignore = FALSE,
severity = c("stop", "warning", "message", "none")
)
|
predicate |
Function that returns a logical value (possibly a vector). |
... |
Passed to the |
msg |
The error message, in the event of failure. |
what |
Either 'all' or 'any', to reduce vectorised tests to a single value. |
na_ignore |
A logical value. If |
severity |
How severe should the consequences of the assertion be?
Either |
FALSE
with the attribute message
, as provided
in the input.
Missing values are considered as FALSE
for the purposes of
whether or not an error is thrown.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # Basic usage is like do.call; pass a predicate and the arguments to it.
dont_stop(assert_engine(is_true, c(TRUE, FALSE, NA)))
# Customise the error message
dont_stop(
assert_engine(is_true, c(TRUE, FALSE, NA), msg = "Not everything is true")
)
# Only fail when no values match the predicate's conditions
dont_stop(assert_engine(is_true, logical(3), what = "any"))
# You can use base predicates, but the error message isn't as informative
dont_stop(assert_engine(is.matrix, 1:5))
# Reduce the severity of failure
assert_engine(is_true, c(TRUE, FALSE, NA), severity = "message")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.