Check if an argument is disjunct from a given set

checkDisjunct(x, y, fmatch = FALSE)

check_disjunct(x, y, fmatch = FALSE)

assertDisjunct(x, y, fmatch = FALSE, = vname(x), add = NULL)

assert_disjunct(x, y, fmatch = FALSE, = vname(x), add = NULL)

testDisjunct(x, y, fmatch = FALSE)

test_disjunct(x, y, fmatch = FALSE)

expect_disjunct(x, y, fmatch = FALSE, info = NULL, label = vname(x))



Object to check.


Other Set.


Use the set operations implemented in fmatch in package fastmatch. If fastmatch is not installed, this silently falls back to match. fmatch modifies y by reference: A hash table is added as attribute which is used in subsequent calls.

Name of the checked object to print in assertions. Defaults to the heuristic implemented in vname.


Collection to store assertion messages. See AssertCollection.


Extra information to be included in the message for the testthat reporter. See expect_that.


Name of the checked object to print in messages. Defaults to the heuristic implemented in vname.


Depending on the function prefix: If the check is successful, the functions assertDisjunct/assert_disjunct return x invisibly, whereas checkDisjunct/check_disjunct and testDisjunct/test_disjunct return TRUE. If the check is not successful, assertDisjunct/assert_disjunct throws an error message, testDisjunct/test_disjunct returns FALSE, and checkDisjunct returns a string with the error message. The function expect_disjunct always returns an expectation.


The object x must be of the same type as the set w.r.t. typeof. Integers and doubles are both treated as numeric.

See also


testDisjunct(1L, letters)
#> [1] TRUE
testDisjunct(c("a", "z"), letters)
#> [1] FALSE
# x is not converted before the comparison (except for numerics) testDisjunct(factor("a"), "a")
#> [1] FALSE
testDisjunct(1, "1")
#> [1] FALSE
testDisjunct(1, as.integer(1))
#> [1] FALSE