thisisnic commented on code in PR #13174: URL: https://github.com/apache/arrow/pull/13174#discussion_r876031538
########## r/tests/testthat/test-dplyr-funcs-datetime.R: ########## @@ -1812,3 +1812,98 @@ test_that("ym, my & yq parsers", { test_df ) }) + +test_that("lubridate's fast_strptime", { + + compare_dplyr_binding( + .input %>% + mutate( + y = + fast_strptime( + x, + format = "%Y-%m-%d %H:%M:%S", + lt = FALSE + ) + ) %>% + collect(), + tibble( + x = c("2018-10-07 19:04:05", "2022-05-17 21:23:45", NA) + ), + # arrow does not preserve the `tzone` attribute + ignore_attr = TRUE + ) + + # R object + compare_dplyr_binding( + .input %>% + mutate( + y = + fast_strptime( + "68-10-07 19:04:05", + format = "%y-%m-%d %H:%M:%S", + lt = FALSE + ) + ) %>% + collect(), + tibble( + x = c("2018-10-07 19:04:05", NA) + ), + ignore_attr = TRUE + ) + + compare_dplyr_binding( + .input %>% + mutate( + date_multi_formats = + fast_strptime( + x, + format = c("%Y-%m-%d %H:%M:%S", "%m-%d-%Y %H:%M:%S"), + lt = FALSE + ) + ) %>% + collect(), + tibble( + x = c("2018-10-07 19:04:05", "10-07-1968 19:04:05") + ) + ) + + # fast_strptime()'s `cutoff_2000` argument is not supported, but its value is + # implicitly set to 68L both in lubridate and in Arrow + compare_dplyr_binding( + .input %>% + mutate( + date_short_year = + fast_strptime( + x, + format = "%y-%m-%d %H:%M:%S", + lt = FALSE + ) + ) %>% + collect(), + tibble( + x = + c("68-10-07 19:04:05", "69-10-07 19:04:05", NA) + ), + # arrow does not preserve the `tzone` attribute + ignore_attr = TRUE + ) + + # the arrow binding errors for a value different from 68L for `cutoff_2000` + compare_dplyr_binding( + .input %>% + mutate( + date_short_year = + fast_strptime( + x, + format = "%y-%m-%d %H:%M:%S", + lt = FALSE, + cutoff_2000 = 69L + ) + ) %>% + collect(), + tibble( + x = c("68-10-07 19:04:05", "69-10-07 19:04:05", NA) + ), + warning = TRUE Review Comment: Hmm, we appear to have a mix of both, but given that the `warning` parameter for `compare_dplyr_binding()` appears to be for this purpose, then that's all good. -- 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. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org