Skip to contents

Check if arg is equal to x. arg and x must be atomic vectors of the same length.

Usage

check_equals(arg, x, signal = "error", msg = NULL, call. = FALSE)

Arguments

arg

(object)
The argument to check.

x

(Atomic vector)
The vector which arg must be equal to. Must be the same length as arg.

signal

(string: c("error", "warning", "message"))
Must be one of "error", "warning", or "message". "error" (default) calls base::stop() to signal an error message. "warning" calls base::warning() to signal a warning message. "message" calls base::message() to signal a message.

msg

(string or NULL: NULL)
A string that replaces the default message. Set as NULL to use the default message.

call.

(Scalar logical: c(FALSE, TRUE))
Passed to stop() or warning(). The default msg includes it's own formatted call, hence call. should be FALSE (default). If you insert your own msg, then you may want call. = TRUE.

Value

invisible(arg) or condition determined by argument signal.

Examples

#----------------------------------------------------------------------------
# check_equals() examples
#----------------------------------------------------------------------------
library(bkcheck)

f <- function(x) {
  vec <- 1:2
  x |>
    check_equals(vec)
}

x1 <- 1:2
x2 <- 2:3

f(x1)
try(f(x2))
#> Error : Argument `x` must be equal to the target values.
#> 
#> Target: 1, 2
#> In `x` only: 3
#> In target only: 1
#> length(x) = 2
#> length(target) = 2
#> 
#> Call: f(x = x2)