@@ -22,22 +22,38 @@ test_that("Warning against max_version being same as edf's max version",{
2222 expect_warning(ea $ as_of(max_version = min(ea $ DT $ version )),NA )
2323})
2424
25- test_that(" as_of properly grabs the data and doesn't mutate key" ,{
26- old_key = data.table :: key(ea $ DT )
27-
28- df_as_of <- ea %> %
29- epix_as_of(max_version = as.Date(" 2020-07-01" )) %> %
30- na.omit() %> %
31- as.data.frame()
32-
33- df_filter <- ea $ DT %> %
34- filter(version == as.Date(" 2020-07-01" )) %> %
35- na.omit() %> %
36- select(- version ) %> %
37- as.data.frame()
25+ test_that(" as_of properly grabs the data" ,{
26+ d <- as.Date(" 2020-06-01" )
27+
28+ ea2 = tibble :: tribble(
29+ ~ geo_value , ~ time_value , ~ version , ~ cases ,
30+ " ca" , " 2020-06-01" , " 2020-06-01" , 1 ,
31+ " ca" , " 2020-06-01" , " 2020-06-02" , 2 ,
32+ #
33+ " ca" , " 2020-06-02" , " 2020-06-02" , 0 ,
34+ " ca" , " 2020-06-02" , " 2020-06-03" , 1 ,
35+ " ca" , " 2020-06-02" , " 2020-06-04" , 2 ,
36+ #
37+ " ca" , " 2020-06-03" , " 2020-06-03" , 1 ,
38+ #
39+ " ca" , " 2020-06-04" , " 2020-06-04" , 4 ,
40+ ) %> %
41+ dplyr :: mutate(dplyr :: across(c(time_value , version ), as.Date )) %> %
42+ as_epi_archive()
43+
44+ df_as_of <- ea2 %> %
45+ epix_as_of(max_version = as.Date(" 2020-06-03" )) %> %
46+ as_tibble()
47+
48+ df_expected <- tibble(
49+ geo_value = " ca" ,
50+ time_value = d + 0 : 2 ,
51+ cases = c(2 ,1 ,1 )
52+ )
3853
39- expect_equal(df_as_of [1 : 4 ],df_filter )
40- expect_equal(data.table :: key(ea $ DT ), old_key )
54+ expect_identical(df_as_of [[1 ]],df_expected [[1 ]])
55+ expect_identical(df_as_of [[2 ]],df_expected [[2 ]])
56+ expect_identical(df_as_of [[3 ]],df_expected [[3 ]])
4157})
4258
4359test_that(" quosure passing issue in epix_slide is resolved + other potential issues" , {
@@ -66,76 +82,11 @@ test_that("quosure passing issue in epix_slide is resolved + other potential iss
6682 new_col_name = ' case_rate_3d_av' )
6783 # test the passing-something-that-must-be-enquosed behavior:
6884 expect_identical(
69- ea $ slide(
70- f = ~ mean(.x $ case_rate_7d_av ),
71- n = 3 ,
72- group_by = modulus ,
73- ref_time_values = time_values ,
74- new_col_name = ' case_rate_3d_av'
75- ),
76- reference_by_modulus
77- )
78- # test the passing-string-literal behavior:
79- expect_identical(
80- epix_slide(x = ea ,
81- f = ~ mean(.x $ case_rate_7d_av ),
82- n = 3 ,
83- group_by = " modulus" ,
84- ref_time_values = time_values ,
85- new_col_name = ' case_rate_3d_av' ),
86- reference_by_modulus
87- )
88- expect_identical(
89- ea $ slide(
90- f = ~ mean(.x $ case_rate_7d_av ),
91- n = 3 ,
92- group_by = " modulus" ,
93- ref_time_values = time_values ,
94- new_col_name = ' case_rate_3d_av'
95- ),
96- reference_by_modulus
97- )
98- # Might also want to test the passing-string-var-without-all_of behavior, but
99- # make sure to set, trigger, then reset (or restore to old value) the
100- # tidyselect once-per-session message about the ambiguity
101- #
102- # test the passing-all-of-string-var behavior:
103- my_group_by = " modulus"
104- expect_identical(
105- epix_slide(x = ea ,
106- f = ~ mean(.x $ case_rate_7d_av ),
107- n = 3 ,
108- group_by = tidyselect :: all_of(my_group_by ),
109- ref_time_values = time_values ,
110- new_col_name = ' case_rate_3d_av' ),
111- reference_by_modulus
112- )
113- expect_identical(
114- ea $ slide(
115- f = ~ mean(.x $ case_rate_7d_av ),
116- n = 3 ,
117- group_by = tidyselect :: all_of(my_group_by ),
118- ref_time_values = time_values ,
119- new_col_name = ' case_rate_3d_av'
120- ),
121- reference_by_modulus
122- )
123- # test the default behavior (default in this case should just be "geo_value"):
124- expect_identical(
125- epix_slide(x = ea ,
126- f = ~ mean(.x $ case_rate_7d_av ),
127- n = 3 ,
128- ref_time_values = time_values ,
129- new_col_name = ' case_rate_3d_av' ),
130- reference_by_both
85+ epix_merge(ea1 ,dt2 ),
86+ merge(dt1 ,dt2 ,all = TRUE )
13187 )
13288 expect_identical(
133- ea $ slide(
134- f = ~ mean(.x $ case_rate_7d_av ),
135- n = 3 ,
136- ref_time_values = time_values ,
137- new_col_name = ' case_rate_3d_av'
138- ),
139- reference_by_both
89+ as_epi_archive(ea $ DT ),
90+ as_epi_archive(merge(dt1 ,dt2 ,all = TRUE ))
14091 )
14192})
0 commit comments