Nothing
library(RWDataPlyr)
context('check simple aggregation methods')
simpMat <- matrix(1:48, ncol = 2)
attr(simpMat, "timespan") <- c("Jan 2000", "Dec 2001")
pe <- rdf_get_slot(keyRdf, 'Mead.Pool Elevation')[1:36,1:4]
attr(pe, "timespan") <- c("Jan 2000", "Dec 2002")
# rwslot_annual_min -------------------
test_that("`rwslot_annual_min()` returns corect values", {
expect_equal(rwslot_annual_min(simpMat), matrix(c(1, 13, 25, 37),ncol = 2))
expect_equal(
rwslot_annual_min(pe),
rbind(
apply(pe[1:12,], 2, min),
apply(pe[13:24,], 2, min),
apply(pe[25:36,], 2, min)
)
)
})
test_that("`rwslot_annual_min()` matches `getMinAnnValue()`", {
expect_identical(
rwslot_annual_min(simpMat),
expect_warning(getMinAnnValue(simpMat))
)
expect_identical(
rwslot_annual_min(pe),
expect_warning(getMinAnnValue(pe))
)
})
# rwslot_annual_max ---------------
test_that("`rwslot_annual_max()` returns corect values", {
expect_equal(rwslot_annual_max(simpMat), matrix(c(12, 24, 36, 48),ncol = 2))
expect_equal(
rwslot_annual_max(pe),
rbind(
apply(pe[1:12,], 2, max),
apply(pe[13:24,], 2, max),
apply(pe[25:36,], 2, max)
)
)
})
test_that("`rwslot_annual_max()` matches `getMaxAnnValue()`", {
expect_identical(
rwslot_annual_max(simpMat), expect_warning(getMaxAnnValue(simpMat))
)
expect_identical(rwslot_annual_max(pe), expect_warning(getMaxAnnValue(pe)))
})
# rwslot_annual_sum ------------------
test_that("rwslot_annual_sum returns corect values", {
expect_equal(
rwslot_annual_sum(simpMat),
matrix(c(sum(1:12), sum(13:24), sum(25:36), sum(37:48)), ncol = 2)
)
expect_equal(
rwslot_annual_sum(pe),
rbind(
apply(pe[1:12,], 2, sum),
apply(pe[13:24,], 2, sum),
apply(pe[25:36,], 2, sum)
)
)
})
test_that("rwslot_annual_sum matches sumMonth2Annual", {
expect_identical(
rwslot_annual_sum(simpMat),
expect_warning(sumMonth2Annual(simpMat))
)
expect_identical(
rwslot_annual_sum(pe),
expect_warning(sumMonth2Annual(pe))
)
})
# rwslot_fwaac -------------------
flow <- rep(c(700,800,800,900,750,900),2)*1000
saltMass <- c(25,30,35,25,25,22,35,47,21,45,34,23)*1000
test_that("`trace_fwaac()` returns correct Values", {
expect_equal(round(RWDataPlyr:::trace_fwaac(saltMass, flow),5),27.82642)
expect_error(
RWDataPlyr:::trace_fwaac(saltMass[1:11],flow),
'Data passed to `trace_fwaac()` is not divisible by 12',
fixed = TRUE
)
expect_error(
RWDataPlyr:::trace_fwaac(saltMass,flow[1:11]),
"Data passed to `trace_fwaac()` is not divisible by 12",
fixed = TRUE
)
})
flow <- cbind(flow, flow)
flow <- rbind(flow, flow, flow, flow)
attr(flow, "timespan") <- c("January 2000", "December 2003")
f2 <- flow[1:40,]
attr(f2, "timespan") <- c("January 2000", "April 2003")
saltMass <- cbind(saltMass, saltMass)
saltMass <- rbind(saltMass, saltMass, saltMass, saltMass)
attr(saltMass, "timespan") <- c("January 2000", "December 2003")
s2 <- saltMass[1:40,]
attr(s2, "timespan") <- c("January 2000", "April 2003")
test_that("`rwslot_fwaac() returns correct values", {
expect_is(tmp <- rwslot_fwaac(saltMass, flow), "matrix")
expect_equal(dim(tmp), c(4, 2))
expect_true(all(round(tmp, 5) == 27.82642))
})
test_that("`rwslot_fwaac() errors correctly", {
expect_error(
rwslot_fwaac(saltMass, flow[1:36, ]),
"In `rwslot_fwaac()`, the dimensions of `flow` and `mass` must match.",
fixed = TRUE
)
expect_error(
rwslot_fwaac(saltMass[,1], flow),
"In `rwslot_fwaac()`, the dimensions of `flow` and `mass` must match.",
fixed = TRUE
)
expect_error(
rwslot_fwaac(s2, f2),
paste0(
"`eval()`, expects a regular monthly timespan.\n",
"I.e., it should start in January and end in December or start in\n",
"October and end in September."
),
fixed = TRUE
)
})
# errors --------------------------------
rdf <- read_rdf("../rdfs/apr_start.rdf")
p1 <- rdf_get_slot(rdf, "Powell.Outflow")
m1 <- rdf_get_slot(rdf, "Mead.Pool Elevation")
e1 <- paste0(
"`eval()`, expects a regular monthly timespan.\n",
"I.e., it should start in January and end in December or start in\n",
"October and end in September."
)
e2 <- "`eval()`, expects a matrix with a 'timespan' attribute."
test_that("errors for irregular data, or non matrices work", {
expect_error(rwslot_annual_max(p1), e1, fixed = TRUE)
expect_error(rwslot_annual_min(m1), e1, fixed = TRUE)
expect_error(rwslot_annual_sum(p1), e1, fixed = TRUE)
p1 <- rdf_get_slot(keyRdf, "Powell.Outflow")
attr(p1, "timespan") <- NULL
expect_error(rwslot_annual_max(p1), e2, fixed = TRUE)
expect_error(rwslot_annual_min(p1), e2, fixed = TRUE)
expect_error(rwslot_annual_sum(p1), e2, fixed = TRUE)
expect_error(rwslot_annual_max(rdf), e2, fixed = TRUE)
expect_error(rwslot_annual_min(rdf), e2, fixed = TRUE)
expect_error(rwslot_annual_sum(rdf), e2, fixed = TRUE)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.