Nothing
### normal_pi() is implecitely covered, because it generates the output of
# the lmer_pi_... functions
test_that("check class and output", {
fit <- lmer(y_ijk~(1|a)+(1|b)+(1|a:b), c2_dat1)
pred_int <- lmer_pi_futmat(model=fit,
newdat=c2_dat2,
alternative="both",
traceplot=FALSE,
nboot=100)
# Test classes
expect_s3_class(pred_int,
class=c("predint", "normalPI"))
names_pi <- names(pred_int)
expect_equal(names_pi,
c("prediction",
"newdat",
"futmat_list",
"futvec",
"histdat",
"y_star_hat",
"pred_se",
"alternative",
"q",
"mu",
"pred_var",
"m",
"algorithm"))
# No. of slots of the output list
expect_equal(length(pred_int), 13)
# $prediction has to be a data.frame
expect_true(is.data.frame(pred_int$prediction))
# histdat has to be a data.frame
expect_true(is.data.frame(pred_int$histdat))
# Algorithm ha to be MS22 by default
expect_equal(pred_int$algorithm, "MS22")
})
test_that("model and newdat must be specified correctly", {
# random effects must be specified as (1|rf)
expect_error(lmer_pi_futmat(model=lme4::lmer(y_ijk~(b|a), c2_dat1),
newdat=c2_dat2, traceplot=FALSE))
# newdat is not a data frame
expect_error(lmer_pi_futmat(model=lme4::lmer(y_ijk~(1|a)+(1|b)+(1|a:b), c2_dat1),
newdat=c(1,2,3), traceplot=FALSE, nboot=100))
# Newdat needs to be either a data frame or 1
expect_error(lmer_pi_futmat(model=lme4::lmer(y_ijk~(1|a)+(1|b)+(1|a:b), c2_dat1),
newdat="a", traceplot=FALSE))
})
test_that("futmat_list must be specified correctly", {
fit <- lmer(y_ijk~(1|a)+(1|b)+(1|a:b), c2_dat1)
fml <- vector(length=4, "list")
names(fml) <- c("a:b", "b", "a", "Residual")
fml[["a:b"]] <- matrix(nrow=6, ncol=2, data=c(1,1,0,0,0, 0, 0,0,1,1,1,1))
fml[["b"]] <- matrix(nrow=6, ncol=1, data=c(1,1,1,1,1,1))
fml[["a"]] <- matrix(nrow=6, ncol=2, data=c(1,1,0,0,0,0, 0,0,1,1,1,1))
# All entries need to be a matrix
fml[["Residual"]] <- "a"
expect_error(lmer_pi_futmat(model=lfit,
futmat_list=fml,
alternative="both",
nboot=100))
# all entries need to be 1 or 0n
fml[["Residual"]] <- matrix(nrow=6, ncol=1, data=c(1,1,1,2,3,4))
expect_error(lmer_pi_futmat(model=fit,
futmat_list=fml,
alternative="both",
nboot=100))
# all entries have to have the same nrow
fml[["Residual"]] <- matrix(nrow=5, ncol=1, data=c(1,1,1,1,1))
expect_error(lmer_pi_futmat(model=fit,
futmat_list=fml,
alternative="both",
nboot=100))
# Is futmat_list correct in the output
fml[["Residual"]] <- diag(6)
pred_int <- lmer_pi_futmat(model=fit,
futmat_list=fml,
alternative="both",
traceplot=FALSE,
nboot=100)
expect_true(is.list(pred_int$futmat_list))
expect_equal(length(pred_int$futmat_list), 4)
})
test_that("alternative", {
# alternative
expect_error(lmer_pi_futmat(model=lme4::lmer(y_ijk~(1|a)+(1|b)+(1|a:b), c2_dat1),
newdat=1,
alternative="opper",
nboot = 100))
})
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.