inheritance-expectations {testthat} | R Documentation |
See https://adv-r.hadley.nz/oo.html for an overview of R's OO systems, and the vocabulary used here.
expect_type(x, type)
checks that typeof(x)
is type
.
expect_s3_class(x, class)
checks that x
is an S3 object that
inherits()
from class
expect_s4_class(x, class)
checks that x
is an S4 object that
is()
class
.
expect_type(object, type) expect_s3_class(object, class, exact = FALSE) expect_s4_class(object, class)
object |
Object to test. Supports limited unquoting to make it easier to generate readable failures within a function or for loop. See quasi_label for more details. |
type |
String giving base type (as returned by |
class |
character vector of class names |
exact |
If |
Other expectations: comparison-expectations
,
equality-expectations
,
expect_error
, expect_length
,
expect_match
, expect_message
,
expect_named
, expect_null
,
expect_output
, expect_silent
,
logical-expectations
x <- data.frame(x = 1:10, y = "x") # A data frame is an S3 object with class data.frame expect_s3_class(x, "data.frame") show_failure(expect_s4_class(x, "data.frame")) # A data frame is built from a list: expect_type(x, "list") # An integer vector is an atomic vector of type "integer" expect_type(x$x, "integer") # It is not an S3 object show_failure(expect_s3_class(x$x, "integer")) # By default data.frame() converts characters to factors: show_failure(expect_type(x$y, "character")) expect_s3_class(x$y, "factor") expect_type(x$y, "integer")