tests/testthat/test-gen_time.R

test_that("gen_time works correctly", {
  x <- gen_time(mat_u, mat_f)
  x_start <- gen_time(mat_u, mat_f)
  x_singular <- gen_time(mat_u_singular, mat_f)

  expect_length(x, 1L)
  expect_gt(x, 0)
  expect_length(x_start, 1L)
  expect_gt(x_start, 0)
  expect_identical(x_singular, NA_real_)

  x_r0 <- gen_time(mat_u, mat_f, method = "R0")

  expect_identical(x, x_r0)

  x_po <- gen_time(mat_u, mat_f, method = "age_diff")
  x_singular_po <- gen_time(mat_u_singular, mat_f, method = "age_diff")
  expect_length(x_po, 1L)
  expect_gt(x_po, 0)
  expect_identical(x_singular_po, NA_real_)

  x_co <- gen_time(mat_u, mat_f, method = "cohort")
  x_singular_co <- gen_time(mat_u_singular, mat_f, method = "cohort")
  expect_length(x_co, 1L)
  expect_gt(x_co, 0)
  expect_identical(x_singular_co, NA_real_)
})

test_that("gen_time warns and fails gracefully", {
  expect_warning(gen_time(mat_u_survissue, mat_f))
  expect_error(gen_time(mat_u_na, mat_f))
  expect_error(gen_time(mat_u, mat_f_na))

  expect_error(gen_time(mat_u_na, mat_f, method = "age_diff"))
  expect_error(gen_time(mat_u, mat_f_na, method = "age_diff"))

  expect_warning(gen_time(mat_u_survissue, mat_f))
  expect_error(gen_time(mat_u_na, mat_f, method = "cohort"))
  expect_error(gen_time(mat_u, mat_f_na, method = "cohort"))
})

Try the Rage package in your browser

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

Rage documentation built on Sept. 30, 2023, 1:06 a.m.