1
1
library(dplyr )
2
2
3
3
test_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 ),
5
5
regexp = " `x` must be a data frame." )
6
6
})
7
7
8
8
dt <- archive_cases_dv_subset $ DT
9
9
10
10
test_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 ),
12
12
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 ),
14
14
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 ),
16
16
regexp = " `x` must contain a `version` column." )
17
17
})
18
18
19
19
test_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 ),
21
21
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 )
23
23
})
24
24
25
25
test_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 ),
27
27
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 ),
29
29
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 ),
31
31
regexp = " `other_keys` cannot contain \" geo_value\" , \" time_value\" , or \" version\" ." )
32
32
})
33
33
34
34
test_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 ),
36
36
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 ),
38
38
regexp = " `additional_metadata` names overlap with existing metadata fields\n\" geo_type\" , \" time_type\" ." )
39
39
})
40
40
@@ -45,22 +45,22 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
45
45
version = as.Date(" 2020-01-01" ) + 0 : 19 ,
46
46
value = 1 : 20 )
47
47
48
- ea1 <- as_epi_archive(df )
48
+ ea1 <- as_epi_archive(df , compactify = FALSE )
49
49
expect_equal(key(ea1 $ DT ),c(" geo_value" ," time_value" ," version" ))
50
50
expect_equal(ea1 $ additional_metadata ,list ())
51
51
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 )
53
53
expect_equal(key(ea2 $ DT ),c(" geo_value" ," time_value" ," value" ," version" ))
54
54
expect_equal(ea2 $ additional_metadata ,list (value = df $ value ))
55
55
56
56
# Tibble
57
57
tib <- tibble :: tibble(df , code = " x" )
58
58
59
- ea3 <- as_epi_archive(tib )
59
+ ea3 <- as_epi_archive(tib , compactify = FALSE )
60
60
expect_equal(key(ea3 $ DT ),c(" geo_value" ," time_value" ," version" ))
61
61
expect_equal(ea3 $ additional_metadata ,list ())
62
62
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 )
64
64
expect_equal(key(ea4 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
65
65
expect_equal(ea4 $ additional_metadata ,list (value = df $ value ))
66
66
@@ -72,12 +72,12 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
72
72
code = " CA" ,
73
73
key = " code" )
74
74
75
- ea5 <- as_epi_archive(kdt )
75
+ ea5 <- as_epi_archive(kdt , compactify = FALSE )
76
76
# Key from data.table isn't absorbed when as_epi_archive is used
77
77
expect_equal(key(ea5 $ DT ),c(" geo_value" ," time_value" ," version" ))
78
78
expect_equal(ea5 $ additional_metadata ,list ())
79
79
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 )
81
81
# Mismatched keys, but the one from as_epi_archive overrides
82
82
expect_equal(key(ea6 $ DT ),c(" geo_value" ," time_value" ," value" ," version" ))
83
83
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"
89
89
value = 1 : 20 ,
90
90
code = " CA" )
91
91
92
- ea7 <- as_epi_archive(udt )
92
+ ea7 <- as_epi_archive(udt , compactify = FALSE )
93
93
expect_equal(key(ea7 $ DT ),c(" geo_value" ," time_value" ," version" ))
94
94
expect_equal(ea7 $ additional_metadata ,list ())
95
95
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 )
97
97
expect_equal(key(ea8 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
98
98
expect_equal(ea8 $ additional_metadata ,list (value = df $ value ))
99
99
@@ -102,11 +102,11 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
102
102
select(geo_value ,time_value ,cases ) %> %
103
103
mutate(version = max(time_value ), code = " USA" )
104
104
105
- ea9 <- as_epi_archive(edf )
105
+ ea9 <- as_epi_archive(edf , compactify = FALSE )
106
106
expect_equal(key(ea9 $ DT ),c(" geo_value" ," time_value" ," version" ))
107
107
expect_equal(ea9 $ additional_metadata ,list ())
108
108
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 )
110
110
expect_equal(key(ea10 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
111
111
expect_equal(ea10 $ additional_metadata ,list (value = df $ value ))
112
112
})
0 commit comments