tests/testthat/test-summary.R

test_that("Summary works", {
  chain1 <- data.frame(param1 = rnorm(100), param2 = rnorm(100), chain = 1)
  chain2 <- data.frame(param1 = rnorm(100), param2 = rnorm(100), chain = 2)

  dummy_output <- list(
    theta_chain = rbind(chain1, chain2),
    diagnostics = list(
      ess = c(param1 = 200, param2 = 190),
      rhat = c(param1 = 1.01, param2 = 1.00)
    )
  )

  class(dummy_output) <- "pmmh_output"

  summary_out <- summary(dummy_output)

  # Check structure and content
  expect_s3_class(summary_out, "data.frame")
  expect_named(
    summary_out,
    c("mean", "sd", "median", "2.5%", "97.5%", "ESS", "Rhat")
  )
  expect_equal(rownames(summary_out), c("param1", "param2"))
  expect_equal(summary_out["param1", "ESS"], 200)
  expect_equal(summary_out["param1", "Rhat"], 1.01)
})

Try the bayesSSM package in your browser

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

bayesSSM documentation built on June 23, 2025, 5:08 p.m.