tests/testthat/test-postmix.R

norm <- mixnorm(c(1, 0, 0.5), sigma = 1)

test_that("Normal mixture reference scale is updated", {
  suppressMessages(post_norm <- postmix(norm, m = 0, n = 100, se = 0.1))
  expect_equal(1, RBesT::sigma(post_norm))
})

test_that("Normal mixture default reference scale is used", {
  suppressMessages(post_norm <- postmix(norm, m = 0, n = 100))
  psd <- sqrt(1 / ((1 / sqrt(100))^-2 + (1 / 2)^-2))
  expect_lt(abs(summary(post_norm)["sd"] - psd), 1E-7)
})

test_that("Normal mixture default reference scale is updated", {
  suppressMessages(post_norm <- postmix(norm, m = 0, se = 1, n = 100))
  expect_equal(sigma(post_norm), 10)
})


test_that("Gamma mixture is updated for Poisson likelihood", {
  gamma_prior <- mixgamma(c(1, 10, 1), param = "mn")
  gamma_post <- postmix(gamma_prior, n = 20, m = 2)
  expect_equal(ess(gamma_post), 21)
})

Try the RBesT package in your browser

Any scripts or data that you put into this service are public.

RBesT documentation built on June 8, 2025, 10:05 a.m.