tests/testthat/test-npars.R

test_that("npars.term", {
  expect_identical(
    npars(new_term(c(
      "alpha[1]", "alpha[2]", "beta[1,1]", "beta[2,1]",
      "beta[1,2]", "beta[2,2]", "sigma"
    ))),
    3L
  )

  expect_identical(
    npars(new_term(c("alpha[1]", "alpha[2]", "beta[1,1]", "beta[2,1]"))),
    2L
  )
})

test_that("npars.term scalar", {
  expect_identical(npars(new_term(c("a[2]")), scalar = TRUE), 0L)
  expect_identical(npars(new_term(c("a[1]")), scalar = TRUE), 1L)
  expect_identical(npars(new_term(c("a[1]")), scalar = FALSE), 0L)
  expect_identical(npars(new_term(c("a[1]", "b", "c")), scalar = TRUE), 3L)
})

test_that("npars.term scalar = FALSE", {
  expect_identical(npars(new_term(c("a[2]")), scalar = FALSE), 1L)
  expect_identical(npars(new_term(c("a[1]")), scalar = FALSE), 0L)
  expect_identical(npars(new_term(c("a[1]")), scalar = TRUE), 1L)
  expect_identical(npars(new_term(c("a[1]", "b", "c")), scalar = FALSE), 0L)
})

test_that("npars.term invalid elements", {
  expect_warning(expect_identical(npars(new_term(c("a[2]", "b c"))), 2L))
})

test_that("npars.term missing values", {
  expect_identical(npars(new_term(c("a[2]", NA))), NA_integer_)
})

test_that("npars.term scalar", {
  expect_identical(npars(new_term(c("a[2]")), scalar = TRUE), 0L)
  expect_identical(npars(new_term(c("a[1]")), scalar = TRUE), 1L)
  expect_identical(npars(new_term(c("a[1]", "b", "c")), scalar = TRUE), 3L)
})

test_that("npars.term scalar invalid elements", {
  expect_warning(expect_identical(npars(new_term(c("a[2]", "b c")), scalar = TRUE), 1L))
})

test_that("npars scalar missing values", {
  expect_identical(npars(new_term(c("a", NA)), scalar = TRUE), NA_integer_)
  expect_identical(npars(new_term(c("a[2]", NA)), scalar = TRUE), NA_integer_)
})

Try the term package in your browser

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

term documentation built on Sept. 29, 2022, 5:14 p.m.