We provide additional assertion functions which can be used together with
assertthat::assert_that()
.
We provide additional assertion functions which can be used together with
the checkmate
functions. These are described in individual help pages
linked below.
Usage
is_class(x, class2)
is_hermes_data(x)
is_counts_vector(x)
is_list_with(x, elements)
one_provided(one, two)
is_constant(x)
Arguments
- x
an object to check.
- class2
(
character
or class definition)
the class to whichx
could belong.- elements
(
character
)
names of elements which should be in the listx
.- one
first input.
- two
second input.
Value
Depending on the function prefix.
assert_
functions return the object invisibly if successful, and otherwise throw an error message.check_
functions returnTRUE
if successful, otherwise a string with the error message.test_
functions just returnTRUE
orFALSE
.
Functions
is_class()
: checks the class.is_hermes_data()
: checks whetherx
is anAnyHermesData
object.is_counts_vector()
: checks for a vector of counts (positive integers).is_list_with()
: checks for a list containing elements.one_provided()
: checks that exactly one of the two inputsone
,two
is notNULL
.is_constant()
: checks whether the vectorx
is constant (only supportsnumeric
,factor
,character
,logical
).NA
s are removed first.
Examples
# Assert a general class.
a <- 5
is_class(a, "character")
#> [1] FALSE
# Assert a `AnyHermesData` object.
is_hermes_data(hermes_data)
#> [1] TRUE
is_hermes_data(42)
#> [1] FALSE
# Assert a counts vector.
a <- 5L
is_counts_vector(a)
#> [1] TRUE
# Assert a list containing certain elements.
b <- list(a = 5, b = 3)
is_list_with(b, c("a", "c"))
#> [1] FALSE
is_list_with(b, c("a", "b"))
#> [1] TRUE
# Assert that exactly one of two arguments is provided.
a <- 10
b <- 10
one_provided(a, b)
#> [1] FALSE
one_provided(a, NULL)
#> [1] TRUE
# Assert a constant vector.
is_constant(c(1, 2))
#> [1] FALSE
is_constant(c(NA, 1))
#> [1] TRUE
is_constant(c("a", "a"))
#> [1] TRUE
is_constant(factor(c("a", "a")))
#> [1] TRUE