tests/testthat/test-consistent-term.R

test_that("consistent_term", {
  expect_error(consistent_term(1), "`x` must inherit from S3 class 'term'.",
    class = "chk_error"
  )
  expect_identical(consistent_term(new_term()), logical(0))
  expect_identical(consistent_term(NA_term_), NA)
  expect_identical(consistent_term(new_term("a")), TRUE)
  expect_identical(consistent_term(new_term(c("a", "a"))), c(TRUE, TRUE))
  expect_identical(consistent_term(new_term(c("a", "a[1]"))), c(TRUE, TRUE))
  expect_identical(consistent_term(new_term(c("a", "a[2]"))), c(TRUE, TRUE))
  expect_identical(consistent_term(new_term(c("a[10]", "a[2]"))), c(TRUE, TRUE))
  expect_identical(consistent_term(new_term(c("a[2]", "a[2,1]"))), c(FALSE, FALSE))
  expect_identical(consistent_term(new_term(c("a[1,1]", "a[2,1]"))), c(TRUE, TRUE))
  expect_identical(consistent_term(new_term(c("a[1,1]", "a[2,1]", "a["))), c(TRUE, TRUE, NA))
  expect_identical(consistent_term(new_term(c("a[1,1]", "a[2,1]", "a[", "b"))), c(TRUE, TRUE, NA, TRUE))
  expect_identical(consistent_term(new_term("a[")), NA)
})

test_that("consistent_term term_rcrd", {
  expect_error(consistent_term(1), "`x` must inherit from S3 class 'term_rcrd'.",
    class = "chk_error"
  )
  expect_identical(consistent_term(term_rcrd()), logical(0))
  expect_identical(consistent_term(NA_term_), NA)
  expect_identical(consistent_term(term_rcrd("a")), TRUE)
  expect_identical(consistent_term(term_rcrd(c("a", "a"))), c(TRUE, TRUE))
  expect_identical(consistent_term(term_rcrd(c("a", "a[1]"))), c(TRUE, TRUE))
  expect_identical(consistent_term(term_rcrd(c("a", "a[2]"))), c(TRUE, TRUE))
  expect_identical(consistent_term(term_rcrd(c("a[10]", "a[2]"))), c(TRUE, TRUE))
  expect_identical(consistent_term(term_rcrd(c("a[2]", "a[2,1]"))), c(FALSE, FALSE))
  expect_identical(consistent_term(term_rcrd(c("a[1,1]", "a[2,1]"))), c(TRUE, TRUE))
})
poissonconsulting/term documentation built on Jan. 22, 2025, 8:02 p.m.