Learn R Programming

testthat (version 0.11.0)

equivalence: Expectation: is the object equal to a value?

Description

Usage

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)

Arguments

object
object to test
expected
Expected value
...
other values passed to all.equal
info
extra information to be included in the message (useful when writing tests in loops).
label
For full form, label of expected object used in error messages. Useful to override default (deparsed expected expression) when doing tests in a loop. For short cut form, object label. When NULL, computed from deparsed object.
expected.label
Equivalent of label for shortcut form.

See Also

Other expectations: expect-compare, expect_gt, expect_gte, expect_less_than, expect_lt, expect_lte, expect_more_than; expect_equal_to_reference; expect_error, expect_match, expect_message, expect_output, expect_warning, matching-expectations; expect_false, expect_true; expect_is; expect_named; expect_null; expect_silent; takes_less_than

Examples

Run this code
a <- 10
expect_equal(a, 10)

# Use equals() 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
expect_true(sqrt(2) ^ 2 == 2)
expect_identical(sqrt(2) ^ 2, 2)

# You can pass on additional arguments to all.equal:
# Test the ABSOLUTE difference is within .002
expect_equal(object = 10.01, expected = 10, tolerance = .002,
  scale = 1)

# Test the RELATIVE difference is within .002
expectedValue <- 10
expect_equal(object = 10.01, expected = expectedValue, tolerance = 0.002,
  scale = expectedValue)

# 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