nealrichardson commented on a change in pull request #9798:
URL: https://github.com/apache/arrow/pull/9798#discussion_r602581342
##########
File path: r/tests/testthat/test-dplyr.R
##########
@@ -369,3 +384,46 @@ test_that("tail", {
group_by(int)
)
})
+
+test_that("relocate", {
+ df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
+ expect_dplyr_equal(
+ input %>% relocate(f) %>% collect(),
+ df,
+ )
+ expect_dplyr_equal(
+ input %>% relocate(a, .after = c) %>% collect(),
+ df,
+ )
+ expect_dplyr_equal(
+ input %>% relocate(f, .before = b) %>% collect(),
+ df,
+ )
+ expect_dplyr_equal(
+ input %>% relocate(a, .after = last_col()) %>% collect(),
+ df,
+ )
+ expect_dplyr_equal(
+ input %>% relocate(ff = f) %>% collect(),
+ df,
+ )
+})
+
+test_that("relocate with selection helpers", {
+ expect_dplyr_equal(
+ input %>% relocate(any_of(c("a", "e", "i", "o", "u"))) %>% collect(),
+ df
+ )
+ expect_error(
+ df %>% Table$create() %>% relocate(where(is.character)),
Review comment:
SGTM, it seems like the advantage of eval_select is that you can
evaluate the kinds of predicates that we're trying to prevent evaluating
anyway. (Aside: I wonder if switching `relocate` to use `vars_select` would
mean that you didn't have to bother (for now) filtering out `where` et al.
because vars_select would error for you)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]