Does code return a vector with the expected size and/or prototype?
Source:R/expect-vector.R
expect_vector.Rd
expect_vector()
is a thin wrapper around vctrs::vec_assert()
, converting
the results of that function in to the expectations used by testthat. This
means that it used the vctrs of ptype
(prototype) and size
. See
details in https://vctrs.r-lib.org/articles/type-size.html
Arguments
- 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.
- ptype
(Optional) Vector prototype to test against. Should be a size-0 (empty) generalised vector.
- size
(Optional) Size to check for.
Examples
if (requireNamespace("vctrs") && packageVersion("vctrs") > "0.1.0.9002") {
expect_vector(1:10, ptype = integer(), size = 10)
show_failure(expect_vector(1:10, ptype = integer(), size = 5))
show_failure(expect_vector(1:10, ptype = character(), size = 5))
}
#> Failed expectation:
#> `1:10` must have size 5, not size 10.
#> Failed expectation:
#> `1:10` must be a vector with type <character>.
#> Instead, it has type <integer>.