Newer
Older
1
2
3
4
5
6
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
context("s2dv::StatSeaAtlHurr tests")
##############################################
# dat1
set.seed(1)
atlano1 <- array(runif(30, -1, 1),
dim = c(dat = 2, sdate = 5, ftime = 3))
set.seed(2)
tropano1 <- array(runif(30, -1, 1),
dim = c(dat = 2, sdate = 5, ftime = 3))
# dat2
atlano2 <- atlano1
tropano2 <- tropano1
atlano2[1, 1, 1] <- NA
tropano2[1, 1, 1:2] <- NA
##############################################
test_that("1. Input checks", {
expect_error(
StatSeasAtlHurr(c(), c()),
"Parameter 'atlano' and 'tropano' cannot be NULL."
)
expect_error(
StatSeasAtlHurr(c('b'), c('a')),
"Parameter 'atlano' and 'tropano' must be a numeric array."
)
expect_error(
StatSeasAtlHurr(atlano1, array(1:4, dim = c(2, 2))),
"Parameter 'atlano' and 'tropano' must have dimension names."
)
expect_error(
StatSeasAtlHurr(array(1:10, dim = c(a = 2, c = 5)), array(1:4, dim = c(a = 2, b = 2))),
"Parameter 'atlano' and 'tropano' must have same dimension names."
)
expect_error(
StatSeasAtlHurr(array(1:10, dim = c(a = 2, c = 5)), array(1:4, dim = c(c = 5, a = 3))),
"Parameter 'atlano' and 'tropano' must have the same length of all the dimensions."
)
expect_error(
StatSeasAtlHurr(atlano1, tropano1, hrvar = 1),
"The parameter 'hrvar' must be either 'HR', 'TC', or 'PDI'."
)
expect_error(
StatSeasAtlHurr(atlano1, tropano1, ncores = 1.5),
"Parameter 'ncores' must be a positive integer."
)
})
##############################################
test_that("2. Output checks: dat1", {
expect_equal(
names(StatSeasAtlHurr(atlano1, tropano1)),
c('mean', 'var')
)
expect_equal(
dim(StatSeasAtlHurr(atlano1, tropano1)$mean),
c(dat = 2, sdate = 5, ftime = 3)
)
expect_equal(
dim(StatSeasAtlHurr(atlano1, tropano1)$var),
c(dat = 2, sdate = 5, ftime = 3)
)
expect_equal(
StatSeasAtlHurr(atlano1, tropano1)$mean,
StatSeasAtlHurr(atlano1, tropano1)$var
)
expect_equal(
StatSeasAtlHurr(atlano1, tropano1)$mean[1, 1:2, 2],
c(3.032203, 5.119961),
tolerance = 0.0001
)
expect_equal(
StatSeasAtlHurr(atlano1, tropano1, hrvar = 'TC')$mean,
StatSeasAtlHurr(atlano1, tropano1, hrvar = 'TC')$var
)
expect_equal(
StatSeasAtlHurr(atlano1, tropano1, hrvar = 'PDI')$mean[1, 1:2, 2],
c(0.5664659, 1.7475613),
tolerance = 0.0001
)
expect_equal(
StatSeasAtlHurr(atlano1, tropano1, hrvar = 'PDI')$var[1, 1:2, 2],
c(0.1042551, 0.9922350),
tolerance = 0.0001
)
})
##############################################
test_that("3. Output checks: dat2", {
expect_equal(
StatSeasAtlHurr(atlano2, tropano2)$mean[1, 1:2, 2],
c(NA, 5.119961),
tolerance = 0.0001
)
expect_equal(
StatSeasAtlHurr(atlano2, tropano2)$mean[1, 1, ],
c(NA, NA, 10.84862),
tolerance = 0.0001
)
})