Skip to content

Commit 41da073

Browse files
committed
Iterating on expect_named()
1 parent ce8a224 commit 41da073

File tree

5 files changed

+27
-47
lines changed

5 files changed

+27
-47
lines changed

R/expect-equality.R

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,7 @@ expect_waldo_equal_ <- function(
136136
exp,
137137
info = NULL,
138138
...,
139-
trace_env = caller_env(),
140-
error_prefix = NULL
139+
trace_env = caller_env()
141140
) {
142141
comp <- waldo_compare(
143142
act$val,
@@ -154,7 +153,6 @@ expect_waldo_equal_ <- function(
154153
exp$lab,
155154
paste0(comp, collapse = "\n\n")
156155
)
157-
msg <- paste0(error_prefix, msg)
158156
return(fail(msg, info = info, trace_env = trace_env))
159157
}
160158
pass(act$val)

R/expect-named.R

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ expect_named <- function(
3535
check_bool(ignore.order)
3636
check_bool(ignore.case)
3737

38+
3839
act <- quasi_label(enquo(object), label)
3940

4041
if (missing(expected)) {
@@ -47,11 +48,11 @@ expect_named <- function(
4748
act_names <- normalise_names(names(act$val), ignore.order, ignore.case)
4849

4950
if (ignore.order) {
50-
act <- labelled_value(act_names, act$lab)
51-
return(expect_setequal_(act, exp, error_prefix = "Names of "))
51+
act <- labelled_value(act_names, paste0("names(", act$lab, ")"))
52+
return(expect_setequal_(act, exp))
5253
} else {
53-
act <- labelled_value(act_names, act$lab)
54-
return(expect_waldo_equal_("equal", act, exp, error_prefix = "Names of "))
54+
act <- labelled_value(act_names, paste0("names(", act$lab, ")"))
55+
return(expect_waldo_equal_("equal", act, exp))
5556
}
5657

5758
pass(act$val)

R/expect-setequal.R

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,13 @@ expect_setequal <- function(object, expected) {
4040
expect_setequal_ <- function(
4141
act,
4242
exp,
43-
trace_env = caller_env(),
44-
error_prefix = NULL
43+
trace_env = caller_env()
4544
) {
4645
act_miss <- unique(act$val[!act$val %in% exp$val])
4746
exp_miss <- unique(exp$val[!exp$val %in% act$val])
4847

4948
if (length(exp_miss) || length(act_miss)) {
5049
msg <- paste0(
51-
if (!is.null(error_prefix)) {
52-
error_prefix
53-
},
5450
act$lab,
5551
" doesn't have the same values as ",
5652
exp$lab,

tests/testthat/_snaps/expect-named.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,47 @@
44

55
# expected_named verifies actual of names
66

7-
Names of Expected `c(a = 1)` to be equal to "b".
7+
Expected names(`c(a = 1)`) to be equal to "b".
88

99
`actual`: "a"
1010
`expected`: "b"
1111

1212
# provide useful feedback on failure
1313

14-
Names of `c(a = 1)` doesn't have the same values as `c("a", "b")`.
14+
names(`x1`) doesn't have the same values as `c("a", "b")`.
1515
* Only in `expected`: "b"
1616

1717

1818
---
1919

20-
Names of `c(a = 1, b = 1)` doesn't have the same values as `c("a")`.
20+
names(`x2`) doesn't have the same values as "a".
2121
* Only in `actual`: "b"
2222

2323

2424
---
2525

26-
Names of `c(a = 1)` doesn't have the same values as `c("b")`.
26+
names(`x1`) doesn't have the same values as "b".
2727
* Only in `actual`: "a"
2828
* Only in `expected`: "b"
2929

3030

3131
---
3232

33-
Names of Expected `c(a = 1)` to be equal to `c("a", "b")`.
33+
Expected names(`x1`) to be equal to `c("a", "b")`.
3434

3535
`actual`: "a"
3636
`expected`: "a" "b"
3737

3838
---
3939

40-
Names of Expected `c(a = 1, b = 1)` to be equal to `c("a")`.
40+
Expected names(`x2`) to be equal to "a".
4141

4242
`actual`: "a" "b"
4343
`expected`: "a"
4444

4545
---
4646

47-
Names of Expected `c(a = 1)` to be equal to `c("b")`.
47+
Expected names(`x1`) to be equal to `c("b")`.
4848

4949
`actual`: "a"
5050
`expected`: "b"

tests/testthat/test-expect-named.R

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,23 @@ test_that("expected_named verifies actual of names", {
88
expect_snapshot_failure(expect_named(c(a = 1), "b"))
99
})
1010

11-
test_that("expected_named optionally ignores case", {
12-
expect_success(expect_named(c(a = 1), "A", ignore.case = TRUE))
13-
})
14-
15-
test_that("expected_named optionally ignores order", {
16-
expect_success(expect_named(
17-
c(a = 1, b = 2),
18-
c("b", "a"),
19-
ignore.order = TRUE
20-
))
11+
test_that("expected_named optionally ignores order and case", {
12+
x <- c(a = 1, b = 2)
13+
expect_success(expect_named(x, c("A", "B"), ignore.case = TRUE))
14+
expect_success(expect_named(x, c("b", "a"), ignore.order = TRUE))
2115
})
2216

2317
test_that("provide useful feedback on failure", {
24-
expect_snapshot_error(
25-
expect_named(c(a = 1), c("a", "b"), ignore.order = TRUE)
26-
)
27-
expect_snapshot_error(
28-
expect_named(c(a = 1, b = 1), c("a"), ignore.order = TRUE)
29-
)
30-
expect_snapshot_error(
31-
expect_named(c(a = 1), c("b"), ignore.order = TRUE)
32-
)
18+
x1 <- c(a = 1)
19+
x2 <- c(a = 1, b = 2)
3320

34-
expect_snapshot_error(
35-
expect_named(c(a = 1), c("a", "b"), ignore.order = FALSE)
36-
)
37-
expect_snapshot_error(
38-
expect_named(c(a = 1, b = 1), c("a"), ignore.order = FALSE)
39-
)
40-
expect_snapshot_error(
41-
expect_named(c(a = 1), c("b"), ignore.order = FALSE)
42-
)
21+
expect_snapshot_failure(expect_named(x1, c("a", "b"), ignore.order = TRUE))
22+
expect_snapshot_failure(expect_named(x2, "a", ignore.order = TRUE))
23+
expect_snapshot_failure(expect_named(x1, "b", ignore.order = TRUE))
24+
25+
expect_snapshot_failure(expect_named(x1, c("a", "b"), ignore.order = FALSE))
26+
expect_snapshot_failure(expect_named(x2, "a", ignore.order = FALSE))
27+
expect_snapshot_failure(expect_named(x1, c("b"), ignore.order = FALSE))
4328
})
4429

4530
test_that("expect_named validates its inputs", {

0 commit comments

Comments
 (0)