
Last chance! 50% off unlimited learning
Sale ends in
expect_identical()
compares values with identical()
.
expect_equal()
compares values with all.equal()
expect_equivalent()
compares values with all.equal()
and
check.attributes = FALSE
expect_reference()
compares the underlying memory addresses.
expect_equal(object, expected, ..., info = NULL, label = NULL,
expected.label = NULL)expect_equivalent(object, expected, ..., info = NULL, label = NULL,
expected.label = NULL)
expect_identical(object, expected, info = NULL, label = NULL,
expected.label = NULL, ...)
expect_reference(object, expected, info = NULL, label = NULL,
expected.label = NULL)
Computation and value to compare it to.
Both arguments supports limited unquoting to make it easier to generate readable failures within a function or for loop. See quasi_label for more details.
For expect_equal()
and expect_equivalent()
, passed on
compare()
, for expect_identical()
passed on to identical()
.
Used to control the details of the comparison.
Extra information to be included in the message. This argument is soft-deprecated and should not be used in new code. Instead see alternatives in quasi_label.
Used to customise failure messages. For expert use only.
expect_setequal()
to test for set equality.
Other expectations: comparison-expectations
,
expect_error
, expect_length
,
expect_match
, expect_message
,
expect_named
, expect_null
,
expect_output
, expect_silent
,
inheritance-expectations
,
logical-expectations
# NOT RUN {
a <- 10
expect_equal(a, 10)
# Use expect_equal() when testing for numeric equality
sqrt(2) ^ 2 - 1
expect_equal(sqrt(2) ^ 2, 2)
# Neither of these forms take floating point representation errors into
# account
# }
# NOT RUN {
expect_true(sqrt(2) ^ 2 == 2)
expect_identical(sqrt(2) ^ 2, 2)
# }
# NOT RUN {
# You can pass on additional arguments to all.equal:
# }
# NOT RUN {
# Test the ABSOLUTE difference is within .002
expect_equal(10.01, 10, tolerance = .002, scale = 1)
# }
# NOT RUN {
# Test the RELATIVE difference is within .002
x <- 10
expect_equal(10.01, expected = x, tolerance = 0.002, scale = x)
# expect_equivalent ignores attributes
a <- b <- 1:3
names(b) <- letters[1:3]
expect_equivalent(a, b)
# }
Run the code above in your browser using DataLab