# Does code return a vector containing the expected values?

Source:`R/expect-setequal.R`

`expect_setequal.Rd`

`expect_setequal(x, y)`

tests that every element of`x`

occurs in`y`

, and that every element of`y`

occurs in`x`

.`expect_mapequal(x, y)`

tests that`x`

and`y`

have the same names, and that`x[names(y)]`

equals`y`

.

## Arguments

- object
Computation and value to compare it to.

Both arguments supports limited unquoting to make it easier to generate readable failures within a function or for loop. See quasi_label for more details.

- expected
Computation and value to compare it to.

Both arguments supports limited unquoting to make it easier to generate readable failures within a function or for loop. See quasi_label for more details.

## Details

Note that `expect_setequal()`

ignores names, and you will be warned if both
`object`

and `expected`

have them.

## Examples

```
expect_setequal(letters, rev(letters))
show_failure(expect_setequal(letters[-1], rev(letters)))
#> Failed expectation:
#> rev(letters)[26] absent from letters[-1]
x <- list(b = 2, a = 1)
expect_mapequal(x, list(a = 1, b = 2))
show_failure(expect_mapequal(x, list(a = 1)))
#> Failed expectation:
#> Names absent from `expected`: "b",
show_failure(expect_mapequal(x, list(a = 1, b = "x")))
#> Failed expectation:
#> act$val[exp_nms] not equal to exp$val.
#> Component “b”: Modes: numeric, character
#> Component “b”: target is numeric, current is character
show_failure(expect_mapequal(x, list(a = 1, b = 2, c = 3)))
#> Failed expectation:
#> Names absent from `object`: "c",
```