Skip to content

Commit 8f308b2

Browse files
committed
actually passes a test
1 parent 65b4540 commit 8f308b2

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

R/step_epi_slide.R

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,12 @@ step_epi_slide <-
5555
cli_abort("This recipe step can only operate on an {.cls epi_recipe}.")
5656
}
5757
.f <- validate_slide_fun(.f)
58-
epiprocess:::validate_slide_window_arg(before, attributes(recipe$template)$metadata$time_type)
59-
epiprocess:::validate_slide_window_arg(after, attributes(recipe$template)$metadata$time_type)
58+
if (!is.null(before)) {
59+
epiprocess:::validate_slide_window_arg(before, attributes(recipe$template)$metadata$time_type)
60+
}
61+
if (!is.null(after)) {
62+
epiprocess:::validate_slide_window_arg(after, attributes(recipe$template)$metadata$time_type)
63+
}
6064
arg_is_chr_scalar(role, prefix, id)
6165
arg_is_lgl_scalar(skip)
6266

tests/testthat/test-step_epi_slide.R

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ edf <- data.frame(
88
) %>%
99
as_epi_df()
1010

11+
tt_week <- seq(as.Date("2022-01-01"), by = "1 week", length.out = 20)
12+
edf_weekly <- data.frame(
13+
time_value = c(tt_week, tt_week),
14+
geo_value = rep(c("ca", "ny"), each = 20L),
15+
value = c(2:21, 3:22)
16+
) %>%
17+
as_epi_df()
18+
1119
r <- epi_recipe(edf)
1220
rolled_before <- edf %>%
1321
group_by(geo_value) %>%
@@ -73,3 +81,14 @@ test_that("epi_slide handles different function specs", {
7381
expect_equal(blfun[[4]], rolled_before)
7482
expect_equal(nblfun[[4]], rolled_before)
7583
})
84+
85+
test_that("epi_slide works on weekly data with one of before/ahead set", {
86+
expect_no_error(
87+
baked <- epi_recipe(edf_weekly) %>%
88+
step_epi_slide(value, .f = "mean", before = as.difftime(3, units = "weeks")) %>%
89+
prep(edf_weekly) %>%
90+
bake(new_data = NULL)
91+
)
92+
attributes(baked)$metadata$as_of <- as.Date("1999-09-09")
93+
expect_snapshot(baked)
94+
})

0 commit comments

Comments
 (0)