11library(dplyr )
22
33test_that(" first input must be a data.frame" ,{
4- expect_error(as_epi_archive(c(1 ,2 ,3 )),
4+ expect_error(as_epi_archive(c(1 ,2 ,3 ), compactify = FALSE ),
55 regexp = " `x` must be a data frame." )
66})
77
88dt <- archive_cases_dv_subset $ DT
99
1010test_that(" data.frame must contain geo_value, time_value and version columns" ,{
11- expect_error(as_epi_archive(select(dt ,- geo_value )),
11+ expect_error(as_epi_archive(select(dt ,- geo_value ), compactify = FALSE ),
1212 regexp = " `x` must contain a `geo_value` column." )
13- expect_error(as_epi_archive(select(dt ,- time_value )),
13+ expect_error(as_epi_archive(select(dt ,- time_value ), compactify = FALSE ),
1414 regexp = " `x` must contain a `time_value` column." )
15- expect_error(as_epi_archive(select(dt ,- version )),
15+ expect_error(as_epi_archive(select(dt ,- version ), compactify = FALSE ),
1616 regexp = " `x` must contain a `version` column." )
1717})
1818
1919test_that(" other_keys can only contain names of the data.frame columns" ,{
20- expect_error(as_epi_archive(dt ,other_keys = " xyz" ),
20+ expect_error(as_epi_archive(dt ,other_keys = " xyz" , compactify = FALSE ),
2121 regexp = " `other_keys` must be contained in the column names of `x`." )
22- expect_error(as_epi_archive(dt ,other_keys = " percent_cli" ),NA )
22+ expect_error(as_epi_archive(dt ,other_keys = " percent_cli" , compactify = FALSE ),NA )
2323})
2424
2525test_that(" other_keys cannot contain names geo_value, time_value or version" ,{
26- expect_error(as_epi_archive(dt ,other_keys = " geo_value" ),
26+ expect_error(as_epi_archive(dt ,other_keys = " geo_value" , compactify = FALSE ),
2727 regexp = " `other_keys` cannot contain \" geo_value\" , \" time_value\" , or \" version\" ." )
28- expect_error(as_epi_archive(dt ,other_keys = " time_value" ),
28+ expect_error(as_epi_archive(dt ,other_keys = " time_value" , compactify = FALSE ),
2929 regexp = " `other_keys` cannot contain \" geo_value\" , \" time_value\" , or \" version\" ." )
30- expect_error(as_epi_archive(dt ,other_keys = " version" ),
30+ expect_error(as_epi_archive(dt ,other_keys = " version" , compactify = FALSE ),
3131 regexp = " `other_keys` cannot contain \" geo_value\" , \" time_value\" , or \" version\" ." )
3232})
3333
3434test_that(" Warning thrown when other_metadata contains overlapping names with geo_type or time_type fields" ,{
35- expect_warning(as_epi_archive(dt ,additional_metadata = list (geo_type = 1 )),
35+ expect_warning(as_epi_archive(dt ,additional_metadata = list (geo_type = 1 ), compactify = FALSE ),
3636 regexp = " `additional_metadata` names overlap with existing metadata fields\n\" geo_type\" , \" time_type\" ." )
37- expect_warning(as_epi_archive(dt ,additional_metadata = list (time_type = 1 )),
37+ expect_warning(as_epi_archive(dt ,additional_metadata = list (time_type = 1 ), compactify = FALSE ),
3838 regexp = " `additional_metadata` names overlap with existing metadata fields\n\" geo_type\" , \" time_type\" ." )
3939})
4040
@@ -45,22 +45,22 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
4545 version = as.Date(" 2020-01-01" ) + 0 : 19 ,
4646 value = 1 : 20 )
4747
48- ea1 <- as_epi_archive(df )
48+ ea1 <- as_epi_archive(df , compactify = FALSE )
4949 expect_equal(key(ea1 $ DT ),c(" geo_value" ," time_value" ," version" ))
5050 expect_equal(ea1 $ additional_metadata ,list ())
5151
52- ea2 <- as_epi_archive(df ,other_keys = " value" ,additional_metadata = list (value = df $ value ))
52+ ea2 <- as_epi_archive(df , other_keys = " value" , additional_metadata = list (value = df $ value ), compactify = FALSE )
5353 expect_equal(key(ea2 $ DT ),c(" geo_value" ," time_value" ," value" ," version" ))
5454 expect_equal(ea2 $ additional_metadata ,list (value = df $ value ))
5555
5656 # Tibble
5757 tib <- tibble :: tibble(df , code = " x" )
5858
59- ea3 <- as_epi_archive(tib )
59+ ea3 <- as_epi_archive(tib , compactify = FALSE )
6060 expect_equal(key(ea3 $ DT ),c(" geo_value" ," time_value" ," version" ))
6161 expect_equal(ea3 $ additional_metadata ,list ())
6262
63- ea4 <- as_epi_archive(tib ,other_keys = " code" ,additional_metadata = list (value = df $ value ))
63+ ea4 <- as_epi_archive(tib , other_keys = " code" , additional_metadata = list (value = df $ value ), compactify = FALSE )
6464 expect_equal(key(ea4 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
6565 expect_equal(ea4 $ additional_metadata ,list (value = df $ value ))
6666
@@ -72,12 +72,12 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
7272 code = " CA" ,
7373 key = " code" )
7474
75- ea5 <- as_epi_archive(kdt )
75+ ea5 <- as_epi_archive(kdt , compactify = FALSE )
7676 # Key from data.table isn't absorbed when as_epi_archive is used
7777 expect_equal(key(ea5 $ DT ),c(" geo_value" ," time_value" ," version" ))
7878 expect_equal(ea5 $ additional_metadata ,list ())
7979
80- ea6 <- as_epi_archive(kdt ,other_keys = " value" ,additional_metadata = list (value = df $ value ))
80+ ea6 <- as_epi_archive(kdt ,other_keys = " value" , additional_metadata = list (value = df $ value ), compactify = FALSE )
8181 # Mismatched keys, but the one from as_epi_archive overrides
8282 expect_equal(key(ea6 $ DT ),c(" geo_value" ," time_value" ," value" ," version" ))
8383 expect_equal(ea6 $ additional_metadata ,list (value = df $ value ))
@@ -89,11 +89,11 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
8989 value = 1 : 20 ,
9090 code = " CA" )
9191
92- ea7 <- as_epi_archive(udt )
92+ ea7 <- as_epi_archive(udt , compactify = FALSE )
9393 expect_equal(key(ea7 $ DT ),c(" geo_value" ," time_value" ," version" ))
9494 expect_equal(ea7 $ additional_metadata ,list ())
9595
96- ea8 <- as_epi_archive(udt ,other_keys = " code" ,additional_metadata = list (value = df $ value ))
96+ ea8 <- as_epi_archive(udt ,other_keys = " code" , additional_metadata = list (value = df $ value ), compactify = FALSE )
9797 expect_equal(key(ea8 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
9898 expect_equal(ea8 $ additional_metadata ,list (value = df $ value ))
9999
@@ -102,11 +102,11 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
102102 select(geo_value ,time_value ,cases ) %> %
103103 mutate(version = max(time_value ), code = " USA" )
104104
105- ea9 <- as_epi_archive(edf )
105+ ea9 <- as_epi_archive(edf , compactify = FALSE )
106106 expect_equal(key(ea9 $ DT ),c(" geo_value" ," time_value" ," version" ))
107107 expect_equal(ea9 $ additional_metadata ,list ())
108108
109- ea10 <- as_epi_archive(edf ,other_keys = " code" ,additional_metadata = list (value = df $ value ))
109+ ea10 <- as_epi_archive(edf ,other_keys = " code" , additional_metadata = list (value = df $ value ), compactify = FALSE )
110110 expect_equal(key(ea10 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
111111 expect_equal(ea10 $ additional_metadata ,list (value = df $ value ))
112112})
0 commit comments