context("test-opt_sv")
test_that("Test estimate_parameters.R", {
# Data --------------------------------------------------------------------
results <- readRDS("test_objects/test_parameter_estimates.rds")
models <- c("gaussian", "t", "leverage", "skew_gaussian")
# Tests -------------------------------------------------------------------
opt <- list()
for (model in models) {
opt[[model]] <- estimate_parameters(data = results[[model]]$y, model = model, silent = TRUE)$fit$par
}
expect_known_value(opt, file = "test_objects/estimate_parameters.rds", tolerance = 1e-05)
})
test_that("Test summary.R", {
# Data --------------------------------------------------------------------
opt <- readRDS("test_objects/test_summary.rds")
srep <- summary(opt)
# Tests -------------------------------------------------------------------
expect_is(srep, "data.table")
expect_equal(srep[, unique(type)], c("transformed", "fixed", "random"))
# Data only random --------------------------------------------------------
srep <- summary(opt, report = "random")
expect_equal(srep[, unique(type)], c("random"))
# Data with wrong report -------------------------------------------------
expect_error(summary(opt, report = "123"))
})
test_that("Test predict.R", {
# Data ------------------------------------------------------------------------------------------------------------
opt <- readRDS("test_objects/test_summary.rds")
set.seed(123)
steps <- 10; nsim <- 10000
pred <- predict(opt, steps = steps, nsim = nsim, include_parameters = FALSE)
# Tests -----------------------------------------------------------------------------------------------------------
expect_error(predict(opt, steps = 0))
expect_named(pred, c("y", "h", "h_exp"))
expect_equal(dim(pred$y), c(steps, nsim))
expect_equal(dim(pred$h), c(steps, nsim))
# Test summary(predict)
srep <- summary(pred, quantiles = c(0.025, 0.975), predict_mean = TRUE)
expect_equal(length(srep), 3)
expect_equal(nrow(srep$y), steps)
expect_equal(nrow(srep$h), steps)
expect_equal(nrow(srep$h_exp), steps)
expect_true(all(c("quantile_0.025", "quantile_0.975", "mean") %in% names(srep$y)))
# Do not include mean
srep <- summary(pred, quantiles = c(0.025, 0.975), predict_mean = FALSE)
expect_true(!"mean" %in% names(srep$y))
# Wrong quantiles
expect_error(summary(pred, quantiles = c(0.025, 1.975)))
expect_error(summary(pred, quantiles = NA))
expect_error(summary(pred, quantiles = NULL))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.