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))
})

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.