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

expect_vector(object, ptype = NULL, size = NULL)

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)) }
#> Loading required namespace: vctrs
#> 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>.