test_that("subset.term", {
term <- new_term(c("alpha[1]", "alpha[2]", "sigma"))
expect_identical(subset(term, character(0)), new_term())
expect_error(subset(term, "beta"),
"^`pars` must match 'alpha' or 'sigma', not 'beta'[.]$",
class = "chk_error"
)
term <- new_term(c(
"alpha[1]", "alpha[2]", "beta[1,1]", "beta[2,1]",
"beta[1,2]", "beta[2,2]", "sigma"
))
expect_identical(subset(term), term)
expect_identical(subset(term, "sigma"), new_term("sigma"))
expect_identical(
subset(term, c("beta", "sigma")),
new_term(c(
"beta[1,1]", "beta[2,1]",
"beta[1,2]", "beta[2,2]", "sigma"
))
)
expect_identical(
subset(term, c("sigma", "beta")),
new_term(c(
"beta[1,1]", "beta[2,1]",
"beta[1,2]", "beta[2,2]", "sigma"
))
)
expect_error(subset(term, "tt"),
"^`pars` must match 'alpha', 'beta' or 'sigma', not 'tt'[.]$",
class = "chk_error"
)
})
test_that("subset.term_rcrd", {
term_rcrd <- as_term_rcrd(new_term(c("alpha[1]", "alpha[2]", "sigma")))
expect_identical(subset(term_rcrd, character(0)), new_term_rcrd())
expect_error(subset(term_rcrd, "beta"),
"^`pars` must match 'alpha' or 'sigma', not 'beta'[.]$",
class = "chk_error"
)
term_rcrd <- as_term_rcrd(new_term(c(
"alpha[1]", "alpha[2]", "beta[1,1]", "beta[2,1]",
"beta[1,2]", "beta[2,2]", "sigma"
)))
expect_identical(subset(term_rcrd), term_rcrd)
expect_identical(subset(term_rcrd, "sigma"), as_term_rcrd(new_term("sigma")))
expect_identical(
subset(term_rcrd, c("beta", "sigma")),
as_term_rcrd(new_term(c(
"beta[1,1]", "beta[2,1]",
"beta[1,2]", "beta[2,2]", "sigma"
)))
)
expect_identical(
subset(term_rcrd, c("sigma", "beta")),
as_term_rcrd(new_term(c(
"beta[1,1]", "beta[2,1]",
"beta[1,2]", "beta[2,2]", "sigma"
)))
)
expect_error(subset(term_rcrd, "tt"),
"^`pars` must match 'alpha', 'beta' or 'sigma', not 'tt'[.]$",
class = "chk_error"
)
})
test_that("subset.term deprecated", {
rlang::local_options(lifecycle_verbosity = "quiet")
term <- new_term(c("alpha[1]", "alpha[2]", "sigma"))
lifecycle::expect_deprecated(subset(term, select = NULL))
lifecycle::expect_defunct(subset(term, select = "alpha", pars = "alpha"))
expect_identical(subset(term, select = character(0)), new_term())
})
test_that("subset.term missing values", {
expect_error(subset(NA_term_), "^`x` must not have any missing values[.]$",
class = "chk_error"
)
expect_error(subset(c(NA_term_, new_term("a"))),
"^`x` must not have any missing values[.]$",
class = "chk_error"
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.