Nothing
test_that('+.bmmformula method works', {
withr::local_options('bmm.silent'=2)
f1 <- bmf(y~1)
f2 <- bmf(kappa~1)
f3 <- bmf(kappa~1, m ~ 1)
f4 <- bmf(kappa~1, m ~ A+B+(A|ID))
f5 <- bmf(c~set_size)
f6 <- formula(c~1)
f7 <- formula(m ~ A+B+(A|ID))
# adding two bmmformulas works with one formula in each
expect_equal(f1 + f2, bmf(y~1, kappa~1))
# adding two bmmformulas works with different number of formulas in each
expect_equal(f1 + f3, bmf(y~1, kappa~1, m ~ 1))
# adding two more complex bmmformulas works
expect_equal(f1 + f4, bmf(y~1,kappa~1, m ~ A+B+(A|ID)))
# adding three bmmformulas work
expect_equal(f1+f2+f5, bmf(y~1, kappa~1, c~set_size))
# adding a formula to a bmmformula works
expect_equal(f1 + f6, bmf(y~1, c~1))
expect_equal(f1 + f7, bmf(y~1, m ~ A+B+(A|ID)))
# adding a formula to a bmmformula overwrites shared parameters
suppressMessages(expect_equal(f3 + f7, bmf(kappa~1, m ~ A+B+(A|ID))))
# the first argument must be a bmmformula
expect_error(f6 + f1, "The first argument must be a bmmformula.")
# the second argument must be a formula or a bmmformula
expect_error(f1 + 1, "The second argument must be a formula or a bmmformula.")
})
test_that('rhs_vars works', {
f <- bmf(y ~ 1)
expect_equal(rhs_vars(f),character(0))
f <- bmf(y ~ a +b, x ~ c)
expect_equal(rhs_vars(f),c("a","b","c"))
f <- bmf(y ~ a + b + a:b, x ~ c)
expect_equal(rhs_vars(f),c("a","b","c"))
f <- bmf(y ~ a + b + a:b + (a | d), x ~ c)
expect_equal(rhs_vars(f),c("a","b","d","c"))
f <- bmf(y ~ a + b + a:b + (a | d), x ~ c + d)
expect_equal(rhs_vars(f),c("a","b","d","c"))
f <- bmf(y ~ a + b + a:b + (a | d), x ~ c + d, d ~ m)
expect_equal(rhs_vars(f),c("a","b","d","c","m"))
# test with non-linear transformations
f <- bmf(y ~ a + b + a:b + (a | d), x ~ c + d, d ~ exp(m+j))
expect_equal(rhs_vars(f),c("a","b","d","c","m","j"))
})
test_that('assign_nl works', {
x <- bmf(y ~ c, c ~ a + b, a ~ d, m ~ 1)
x <- assign_nl(x)
types <- is_nl(x)
expect_equal(types, c(y = TRUE, c = TRUE, a = FALSE, m = FALSE))
x <- bmf(y ~ 1)
x <- assign_nl(x)
types <- is_nl(x)
expect_equal(types, c(y = FALSE))
f1 <- bmf(y ~ a)
f2 <- bmf(a ~ 1)
f3 <- f1 + f2
f4 <- bmf(y ~ a, a ~ 1)
expect_equal(f3, f4)
types3 <- is_nl(f3)
expect_equal(types3, c(y = TRUE, a = FALSE))
})
test_that('print.bmmformula works', {
res <- utils::capture.output(bmf(a ~ 1, b = 2))
expect_equal(res, c("a ~ 1", "b = 2"))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.