library(bayesplot)
context("Shared: misc. functions")
# suggested packages ------------------------------------------------------
test_that("suggested_package throws correct errors", {
expect_error(suggested_package("NOPACKAGE"),
"Please install the NOPACKAGE package")
expect_error(suggested_package(c("testthat", "gridExtra")), "length")
expect_silent(suggested_package("testthat"))
expect_silent(suggested_package("testthat", min_version = "0.0.1"))
expect_error(suggested_package("testthat", min_version = "100000.0.0"))
})
# check_ignored_arguments -------------------------------------------------
test_that("check_ignored_arguments throws correct warnings", {
expect_warning(check_ignored_arguments(a = 1, b = "2"),
"The following arguments were unrecognized and ignored: a, b")
expect_warning(check_ignored_arguments(a = 1, b = "2", ok_args = c("a", "c")),
"The following arguments were unrecognized and ignored: b")
expect_silent(check_ignored_arguments(a = 1, b = "2", ok_args = c("a", "b", "c")))
})
# parameter selection -----------------------------------------------------
all_pars <- c("param_1", "param_2",
"param[1]", "param[2]",
"param[1,3,5]", "param[2,4,5]",
"alpha", "beta")
test_that("select_parameters throws errors if 'explicit' not found", {
expect_error(select_parameters(explicit = c("alpha", "ALPHA"),
complete_pars = all_pars),
"don't match parameter names: ALPHA")
expect_error(select_parameters(c("BETA", "ALPHA"), complete = all_pars),
"don't match parameter names: BETA, ALPHA")
})
test_that("select_parameters throws errors if no regex matches", {
expect_error(select_parameters(explicit = c("alpha", "beta"),
patterns = "tomato|apple",
complete_pars = all_pars),
"No matches for 'regex_pars'")
})
test_that("select_parameters works with regex", {
expect_identical(select_parameters(patterns = "param", complete = all_pars),
all_pars[-c(7:8)])
expect_identical(select_parameters(patterns = c("param", "tomato"), complete_pars = all_pars),
all_pars[-c(7:8)])
expect_identical(select_parameters(patterns = c("param\\[", "tomato"), complete_pars = all_pars),
all_pars[3:6])
expect_identical(select_parameters(patterns = c("param\\_"), complete_pars = all_pars),
all_pars[1:2])
})
test_that("select_parameters works without regex", {
expect_identical(select_parameters(explicit = "alpha", complete_pars = all_pars),
"alpha")
expect_identical(select_parameters(c("alpha", "param[1,3,5]"), complete_pars = all_pars),
c("alpha", "param[1,3,5]"))
})
test_that("select_parameters works with both explicit and regex", {
expect_identical(select_parameters(explicit = "alpha",
patterns = "param",
complete_pars = all_pars),
c("alpha", all_pars[-c(7:8)]))
expect_identical(select_parameters(explicit = "alpha",
patterns = "alpha",
complete_pars = all_pars),
"alpha")
expect_identical(select_parameters(explicit = c("alpha", "beta"),
patterns = "param\\[|param\\_",
complete_pars = all_pars),
c(all_pars[7:8], all_pars[-c(7:8)]))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.