Description Usage Arguments Value Note See Also Examples
Checks to see if the input is TRUE
, FALSE
or NA
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | assert_is_identical_to_false(
x,
allow_attributes = FALSE,
severity = getOption("assertive.severity", "stop")
)
assert_is_identical_to_na(
x,
allow_attributes = FALSE,
severity = getOption("assertive.severity", "stop")
)
assert_is_identical_to_true(
x,
allow_attributes = FALSE,
severity = getOption("assertive.severity", "stop")
)
assert_all_are_false(x, severity = getOption("assertive.severity", "stop"))
assert_any_are_false(x, severity = getOption("assertive.severity", "stop"))
assert_all_are_na(x, severity = getOption("assertive.severity", "stop"))
assert_any_are_na(x, severity = getOption("assertive.severity", "stop"))
assert_all_are_true(x, severity = getOption("assertive.severity", "stop"))
assert_any_are_true(x, severity = getOption("assertive.severity", "stop"))
assert_all_are_not_false(x, severity = getOption("assertive.severity", "stop"))
assert_any_are_not_false(x, severity = getOption("assertive.severity", "stop"))
assert_all_are_not_na(x, severity = getOption("assertive.severity", "stop"))
assert_any_are_not_na(x, severity = getOption("assertive.severity", "stop"))
assert_all_are_not_true(x, severity = getOption("assertive.severity", "stop"))
assert_any_are_not_true(x, severity = getOption("assertive.severity", "stop"))
is_identical_to_false(
x,
allow_attributes = FALSE,
.xname = get_name_in_parent(x)
)
is_identical_to_na(x, allow_attributes = FALSE, .xname = get_name_in_parent(x))
is_identical_to_true(
x,
allow_attributes = FALSE,
.xname = get_name_in_parent(x)
)
is_false(x, .xname = get_name_in_parent(x))
is_na(x, coerce_to_logical = FALSE, .xname = get_name_in_parent(x))
is_not_na(x, coerce_to_logical = FALSE, .xname = get_name_in_parent(x))
is_not_false(x, .xname = get_name_in_parent(x))
is_not_true(x, .xname = get_name_in_parent(x))
is_true(x, .xname = get_name_in_parent(x))
|
x |
Input to check. See note. |
allow_attributes |
If |
severity |
How severe should the consequences of the assertion be?
Either |
.xname |
Not intended to be used directly. |
coerce_to_logical |
Logical: should the input be coerced to logical before checking? See note. |
The is*
functions return TRUE
if the input is
TRUE
/FALSE
. The assert_*
functions return nothing but
throw an error if the corresponding is_*
function returns
FALSE
.
is_identical_to_true
wraps the base function isTRUE
,
providing more information on failure. Likewise,
is_identical_to_false
checks that the input is identical to FALSE. If
allow_attributes
is TRUE
, a scalar value of TRUE
with
attributes is allowed. is_true
and is_false
are vectorized,
returning TRUE
when the inputs are TRUE
and FALSE
respectively.
The for is_true
, is_false
, is_not_true
and
is_not_false
, x
argument will be coerced to be a logical vector
if it isn't already.
Coercion to logical is optional for is_na
and is_not_na
. If
you do coerce, it means that is_na
differs in behaviour from
base::is.na
for character vector, list and data frame inputs. To
replicate the behaviour of is.na
, ensure the argument
coerce_to_logical
is FALSE
(this is the default).
Note that in assertive version 0.1-4 and prior,
is_identical_to_true/false
were named is_true/false
and the
vectorized versions were not present.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | # Checks against logical values using base::identical
assert_is_identical_to_true(TRUE)
assert_is_identical_to_false(FALSE)
assert_is_identical_to_na(NA)
# Other NA types match
assert_is_identical_to_na(NA_complex_)
# NaN is not NA
dont_stop(assert_is_identical_to_na(NaN))
# For a slightly less strict test, you can ignore attributes
assert_is_identical_to_true(c(truth = TRUE), allow_attributes = TRUE)
assert_is_identical_to_false(matrix(FALSE), allow_attributes = TRUE)
assert_is_identical_to_na(structure(NA, class = "nanana"), allow_attributes = TRUE)
# Vectorized predicates (package name explicitly given to prevent
# problems with testthat name clash)
x <- c(TRUE, FALSE, NA)
assertive.base::is_true(x)
assertive.base::is_false(x)
is_na(x)
# ...and their opposites
is_not_true(x)
is_not_false(x)
is_not_na(x)
# Check that at least one element fits the condition
assert_any_are_true(x)
assert_any_are_false(x)
assert_any_are_na(x)
# These checks should fail:
dont_stop({
assert_is_identical_to_true(c(truth = TRUE))
assert_is_identical_to_true(1)
assert_is_identical_to_true(c(TRUE, TRUE))
assert_is_identical_to_false(matrix(FALSE))
assert_is_identical_to_na(structure(NA, class = "nanana"))
assert_all_are_true(x)
assert_all_are_false(x)
assert_all_are_na(x)
})
# base::is.na has non-standard behaviour for data.frames and lists.
# is_na and is_not_na coerce to logical vectors (except character input).
# unlist the input or use an apply function.
d <- data.frame(
x = c(TRUE, FALSE, NA),
y = c(0, NA, 2),
z = c("a", "NA", NA)
)
is.na(d)
is_na(unlist(d))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.