Newer
Older
##############################################
test_that("Sanity checks", {
expect_error(
CST_MergeDims(data = 1),
paste0("Parameter 'data' must be of the class 's2dv_cube'."))
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
data <- list(data = 1:10)
class(data) <- 's2dv_cube'
expect_error(
CST_MergeDims(data = data),
paste0("Parameter 'data' must have dimensions."))
data <- 1 : 20
dim(data) <- c(time = 20)
data <- list(data = data)
class(data) <- 's2dv_cube'
expect_error(
CST_MergeDims(data = data),
"Parameter 'merge_dims' must match with dimension names in parameter 'data'.")
expect_error(
CST_MergeDims(data = data, merge_dims = 1),
paste0("Parameter 'merge_dims' must be a character vector indicating the names",
" of the dimensions to be merged."))
expect_error(
CST_MergeDims(data = data, merge_dims = 'time'),
"Parameter 'merge_dims' must be of length two.")
expect_error(
CST_MergeDims(data = data, merge_dims = c('time', 'sdates')),
paste0("Parameter 'merge_dims' must match with dimension ",
"names in parameter 'data'."))
exp <- 1 : 20
dim(exp) <- c(time = 10, lat = 2)
exp <- list(data = exp)
class(exp) <- 's2dv_cube'
expect_equal(
CST_MergeDims(data = exp, merge_dims = c('time', 'lat')), data)
expect_warning(
CST_MergeDims(data = exp, merge_dims = c('time', 'lat', 'lon')),
paste0("Only two dimensions can be merge, only the first two dimension",
" will be used. To merge further dimensions consider to use this ",
"function multiple times."))
expect_warning(
CST_MergeDims(data = exp, merge_dims = c('time', 'lat'), rename_dim = c('lat', 'lon')),
paste0("Parameter 'rename_dim' has length greater than 1 and only the ",
"first element will be used."))
names(dim(data$data)) <- 'Dim1'
expect_equal(
CST_MergeDims(data = exp, merge_dims = c('time', 'lat'), rename_dim = 'Dim1'),
data)
expect_equal(
CST_MergeDims(data = exp, merge_dims = c('time', 'lat'),
rename_dim = 'Dim1', na.rm = TRUE), data)
exp$data[1,] <- NA
data <- c(2 : 10, 12 : 20)
dim(data) <- c(Dim1 = 18)
data <- list(data = data)
class(data) <- 's2dv_cube'
expect_equal(
CST_MergeDims(data = exp, merge_dims = c('time', 'lat'),
rename_dim = 'Dim1', na.rm = TRUE), data)
})