@@ -65,19 +65,46 @@ test_that("epi_archives are correctly instantiated with a variety of data types"
65
65
expect_equal(ea4 $ additional_metadata ,list (value = df $ value ))
66
66
67
67
# Keyed data.table
68
- kdt <- 1
69
- ea5 <- 1
68
+ kdt <- data.table :: data.table(geo_value = " ca" ,
69
+ time_value = as.Date(" 2020-01-01" ),
70
+ version = as.Date(" 2020-01-01" ) + 0 : 19 ,
71
+ value = 1 : 20 ,
72
+ code = " CA" ,
73
+ key = " code" )
74
+
75
+ ea5 <- as_epi_archive(kdt )
76
+ expect_equal(key(ea5 $ DT ),c(" geo_value" ," time_value" ," version" )) # Key from data.table isn't absorbed
77
+ expect_equal(ea5 $ additional_metadata ,list ())
78
+
79
+ ea6 <- as_epi_archive(kdt ,other_keys = " code" ,additional_metadata = list (value = df $ value ))
80
+ expect_equal(key(ea6 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
81
+ expect_equal(ea6 $ additional_metadata ,list (value = df $ value ))
70
82
71
83
# Unkeyed data.table
72
- udt <- 2
73
- ea6 <- 2
84
+ udt <- data.table :: data.table(geo_value = " ca" ,
85
+ time_value = as.Date(" 2020-01-01" ),
86
+ version = as.Date(" 2020-01-01" ) + 0 : 19 ,
87
+ value = 1 : 20 ,
88
+ code = " CA" )
89
+
90
+ ea7 <- as_epi_archive(udt )
91
+ expect_equal(key(ea7 $ DT ),c(" geo_value" ," time_value" ," version" ))
92
+ expect_equal(ea7 $ additional_metadata ,list ())
93
+
94
+ ea8 <- as_epi_archive(udt ,other_keys = " code" ,additional_metadata = list (value = df $ value ))
95
+ expect_equal(key(ea8 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
96
+ expect_equal(ea8 $ additional_metadata ,list (value = df $ value ))
74
97
75
98
# epi_df
76
99
edf <- jhu_csse_daily_subset %> %
77
100
select(geo_value ,time_value ,cases ) %> %
78
- mutate(version = max(time_value ))
101
+ mutate(version = max(time_value ), code = " USA " )
79
102
80
- ea7 <- as_epi_archive(edf )
81
- expect_equal(key(ea7 $ DT ),c(" geo_value" ," time_value" ," version" ))
82
- expect_equal(ea7 $ additional_metadata ,list ())
103
+ ea9 <- as_epi_archive(edf )
104
+ expect_equal(key(ea9 $ DT ),c(" geo_value" ," time_value" ," version" ))
105
+ expect_equal(ea9 $ additional_metadata ,list ())
106
+
107
+ ea10 <- as_epi_archive(edf ,other_keys = " code" ,additional_metadata = list (value = df $ value ))
108
+ expect_equal(key(ea10 $ DT ),c(" geo_value" ," time_value" ," code" ," version" ))
109
+ expect_equal(ea10 $ additional_metadata ,list (value = df $ value ))
83
110
})
0 commit comments