Nothing
# Extensive tests of model behavior and outputs are part of the automated model
# verification, see `test-verify-guts_red.R`
test_that("background mortality", {
# RED-IT
ctrl <- minnow_it %>% set_noexposure() %>% set_param(c(hb=0))
mort <- ctrl %>% set_param(c(hb=1))
expect_equal(simulate(ctrl)$S, rep(1, 5))
expect_true(all(diff(simulate(mort)$S) < 0)) # survival prob is strictly decreasing
# RED-SD
ctrl <- minnow_sd %>% set_noexposure() %>% set_param(c(hb=0))
mort <- ctrl %>% set_param(c(hb=1))
expect_equal(simulate(ctrl)$S, rep(1, 5))
expect_true(all(diff(simulate(mort)$S) < 0)) # survival prob is strictly decreasing
})
test_that("C code errors", {
# invalid parameter values
expect_error(minnow_it %>% set_param(c(kd=-1)) %>% simulate(), "smaller than zero")
expect_error(minnow_it %>% set_param(c(hb=-1)) %>% simulate(), "smaller than zero")
# invalid exposure values
expect_error(minnow_it %>% set_exposure(data.frame(t=0, -1), FALSE) %>% simulate())
# invalid parameter values
expect_error(minnow_sd %>% set_param(c(kd=-1)) %>% simulate(), "smaller than zero")
expect_error(minnow_sd %>% set_param(c(hb=-1)) %>% simulate(), "smaller than zero")
expect_error(minnow_sd %>% set_param(c(kk=-1)) %>% simulate(), "smaller than zero")
expect_error(minnow_sd %>% set_param(c(z=-1)) %>% simulate(), "smaller than zero")
# invalid exposure values
expect_error(minnow_sd %>% set_exposure(data.frame(t=0, -1), FALSE) %>% simulate())
})
test_that("output variables", {
rs <- minnow_it %>% simulate(nout=0)
rs2 <- minnow_it %>% simulate(nout=1)
expect_equal(length(names(rs2)), length(names(rs)) + 1)
# S is calculated on the return value of deSolve and therefore appears at the
# end of the columns, after the output variable Cw, unfortunately
expect_equal(names(rs2), c("time","D","H","Cw","S"))
expect_equal(rs2$Cw, minnow_it@exposure@series[,2]) # external concentration
rs <- minnow_sd %>% simulate(nout=0)
rs2 <- minnow_sd %>% simulate(nout=1)
expect_equal(length(names(rs2)), length(names(rs)) + 1)
# S is calculated on the return value of deSolve and therefore appears at the
# end of the columns, after the output variable Cw, unfortunately
expect_equal(names(rs2), c("time","D","H","Cw","S"))
expect_equal(rs2$Cw, minnow_sd@exposure@series[,2]) # external concentration
})
test_that("solvers", {
# RED-IT
expect_equal(solver(minnow_it)$time, minnow_it@times)
# RED-SD
expect_equal(solver(minnow_it)$time, minnow_it@times)
})
test_that("effects", {
# RED-IT
ctrl <- minnow_it %>% set_noexposure() %>% simulate()
trl <- minnow_it %>% simulate()
myeffect <- 1 - tail(trl$S, n=1) / tail(ctrl$S, n=1)
expect_equal(myeffect, effect(minnow_it)$L)
# RED-SD
ctrl <- minnow_sd %>% set_noexposure() %>% simulate()
trl <- minnow_sd %>% simulate()
myeffect <- 1 - tail(trl$S, n=1) / tail(ctrl$S, n=1)
expect_equal(myeffect, effect(minnow_sd)$L)
})
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.