tests/testthat/test-opt_design.R

test_that("opt_design() finds optimization result for basksim and baskexact", {
  set.seed(1994)
  design <- setup_fujikawa_x(k = 3, p0 = 0.2)
  alpha <- 0.05
  design_params <- list(epsilon = c(1, 2), tau = c(0, 0.5),
                        logbase = 2)
  scenarios <- get_scenarios(design, 0.4)
  prec_digits <- 3
  res <- opt_design(design = design,
                     n = 15, alpha = alpha,
                     design_params = design_params,
                     scenarios = scenarios,
                     prec_digits = prec_digits,
                     iter = 1000)
  res_x <- opt_design(design = set_backend(design, "exact"),
                      n = n_sim, alpha = alpha,
                      design_params = design_params,
                      scenarios = scenarios,
                      prec_digits = prec_digits)
  expect_true(any(abs(res - res_x) > 0.0001))
  expect_equal(res, res_x, tolerance = 0.1, ignore_attr = T)
})
test_that("opt_design returns error for wrong backend", {
  p1 <- c(0.5, 0.5, 0.5)
  design <- setup_fujikawa_x(k = 3, p0 = 0.2)
  design$backend <- "typo"
  expect_error(opt_design(design = design,
                          n = 15, alpha = alpha,
                          design_params = design_params,
                          scenarios = scenarios,
                          prec_digits = prec_digits,
                          iter = 1000))
})

Try the baskwrap package in your browser

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

baskwrap documentation built on March 19, 2026, 5:09 p.m.