context("Test output structure")
set_up_input <- function(){
data(longley)
jags_data <<- list(gnp=longley$GNP, employed=longley$Employed,
n=length(longley$Employed))
model_file <<- tempfile()
writeLines("
model{
#Likelihood
for (i in 1:n){
employed[i] ~ dnorm(mu[i], tau)
mu[i] <- alpha + beta*gnp[i]
}
#Priors
alpha ~ dnorm(0, 0.00001)
beta ~ dnorm(0, 0.00001)
sigma ~ dunif(0,1000)
tau <- pow(sigma,-2)
}", con=model_file)
params <<- c('alpha','beta','sigma','mu')
n_chains <<- 3; n_iter <<- 1000; n_warmup <<- 500
}
test_that("correct output structure",{
skip_on_cran()
set_up_input()
out <- jagsUI(model_file,jags_data,inits=NULL,params,
n_chains=n_chains,n_iter=n_iter,n_warmup=n_warmup, quiet=T)
expect_is(out, "jagsUI")
expect_is(out$summary, "matrix")
expect_is(out$samples, "mcmc.list")
expect_equal(length(out$samples),n_chains)
expect_equal(nrow(out$samples[[1]]),(n_iter-n_warmup))
expect_is(out$samples[[1]], "mcmc")
expect_is(out$model, "jags")
})
test_that("correct parallel output structure",{
skip_on_cran()
skip_on_travis()
set_up_input()
out_par <- jagsUI(model_file,jags_data,inits=NULL,params,n_chains=n_chains,
n_iter=n_iter,n_warmup=n_warmup,n_cores=3, quiet=T)
expect_is(out_par$samples,"mcmc.list")
expect_equal(length(out_par$samples),n_chains)
expect_is(out_par$samples[[1]],"mcmc")
expect_equal(nrow(out_par$samples[[1]]),(n_iter-n_warmup))
expect_is(out_par$model,"list")
expect_equal(length(out_par$model),n_chains)
expect_is(out_par$model[[1]], "jags")
})
test_that("check_class works correctly",{
out <- list()
expect_error(check_class(out))
class(out) <- 'jagsUI'
expect_error(check_class(out),NA)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.