tests/testthat/test-recalculate_age_tx_start.R

data <- system.file("testdata", "testdata-recalculate_age_tx_start.rds", package = "hisreportr") %>% 
  readRDS()

out <- recalculate_age_tx_start(data,
                                start_var = starttre,
                                categorise = FALSE)

test_that("data with NA works", {
  expect_true(is.data.frame(out))
  expect_true("age_recalculated" %in% names(out))
  expect_equal(ncol(out), ncol(data) + 1)
  expect_true(all(is.na(out$age_start[is.na(out$starttre) |
                                  is.na(out$adm_date)])))
  expect_true(all(out$age <= out$age_start))
})


test_that("errors, warnings, messages", {
  expect_message(recalculate_age_tx_start(data,
                                          start_var = starttre,
                                          categorise = FALSE),
                 "registered after treatment initiation")
  expect_message(recalculate_age_tx_start(data,
                                          start_var = starttre, 
                                          categorise = FALSE),
                 "could not be adjusted due to missing data")
})

out_cat <- recalculate_age_tx_start(data,
                                    start_var = starttre,
                                    categorise = TRUE)

test_that("categorise argument works", {
  expect_true("age_cat" %in% names(out_cat))
  expect_equal(class(out_cat$age_cat), "factor")
  expect_true(ncol(out_cat) == ncol(out) + 1)
})
JayAchar/hisreportr documentation built on March 18, 2020, 5:57 a.m.