Skip to content

expect_length() inspects the length() of an object; expect_shape() inspects the "shape" (i.e. nrow(), ncol(), or dim()) of higher-dimensional objects like data.frames, matrices, and arrays.

Usage

expect_length(object, n)

expect_shape(object, ..., nrow, ncol, dim)

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.

n

Expected length.

...

Not used; used to force naming of other arguments.

nrow, ncol

Expected nrow()/ncol() of object.

dim

Expected dim() of object.

Examples

expect_length(1, 1)
expect_length(1:10, 10)
show_failure(expect_length(1:10, 1))
#> Failed expectation:
#> 1:10 has length 10, not length 1.

x <- matrix(1:9, nrow = 3)
expect_shape(x, nrow = 3)
show_failure(expect_shape(x, nrow = 4))
#> Failed expectation:
#> `x` has 3 rows, not 4.
expect_shape(x, ncol = 3)
show_failure(expect_shape(x, ncol = 4))
#> Failed expectation:
#> `x` has 3 columns, not 4.
expect_shape(x, dim = c(3, 3))
show_failure(expect_shape(x, dim = c(3, 4, 5)))
#> Failed expectation:
#> `x` has 2 dimensions, not 3.