tests/testthat/test_trialanalysis_input_functions.R

###############################################################################
context("testing getting the trial arm details")
test_that("testing getting the trial arm details",  {
  details <- get_trial_arm_details(data.table("Age" = c(21, 15), "arm" = c("control", "intervention")))
  expect_equal(details$name, "arm")
  expect_equal(details$codes, c("control", "intervention"))
  expect_error(get_trial_arm_details(data.table("Age" = c(21, 15), "control" = c("control", "intervention"))))
})


###############################################################################
context("testing getting the gender details")
test_that("testing getting the gender details",  {
  details <- get_gender_details(data.table("Age" = c(21, 15), "sex" = c("m", "f")))
  expect_equal(details$name, "sex")
  expect_equal(details$codes, c("m", "f"))
  details <- get_gender_details(data.table("Age" = c(21, 15), "gender" = c("male", "female")))
  expect_equal(details$name, "gender")
  expect_equal(details$codes, c("male", "female"))
  expect_error(get_gender_details(data.table("Age" = c(21, 15), "control" = c("control", "intervention"))))
})
###############################################################################
context("testing getting the age details")
test_that("testing getting the age details",  {
  details <- get_age_details(data.table("Age" = c(21, 15), "sex" = c("m", "f")))
  expect_equal(details$name, "Age")
  expect_equal(details$codes, c(21, 15))
  details <- get_age_details(data.table("dob" = c("1997-02-12", "1978-04-01"), "gender" = c("male", "female")))
  expect_equal(details$name, "dob")
  expect_equal(details$codes,  c("1997-02-12", "1978-04-01"))
  expect_error(get_age_details(data.table("no" = c(21, 15), "control" = c("control", "intervention"))))
})
###############################################################################
context("testing getting the timepoint details")
test_that("testing getting the timepoint details",  {
  details <- get_timepoint_details(data.table("time" = c(21, 15), "sex" = c("m", "f")))
  expect_equal(details$name, "time")
  expect_equal(details$codes, c(21, 15))
  details <- get_timepoint_details(data.table("timepoint" = c(21, 15), "sex" = c("m", "f")))
  expect_equal(details$name, "timepoint")
  expect_equal(details$codes,  c(21, 15))
  expect_error(get_timepoint_details(data.table("point" = c(21, 15), "control" = c("control", "intervention"))))
})
###############################################################################
context("testing getting the outcome details")
test_that("testing getting the outcome details",  {
  details <- get_outcome_details(data.table("qol.MO" = c(1, 2), "qol.PD" = c(1, 2), "qol.AD" = c(1, 2)), "eq5d", "qol", TRUE)
  expect_equal(details$name, c("qol.MO", "qol.PD", "qol.AD"))
  expect_equal(details$codes, c(1, 2))
  details <- get_outcome_details(data.table("qol1" = c(1, 2), "qol2" = c(1, 2)), "eq5d", "qol", TRUE)
  expect_equal(details$name, c("qol1", "qol2"))
  expect_equal(details$codes,  c(1, 2))
  expect_error(get_outcome_details(data.table("point" = c(21, 15)), "eq5d", "qol", TRUE))
  details <- get_outcome_details(data.table("qol1" = c(1, 2), "qol2" = c(4, 3)), "eq5d", "qol", TRUE)
  expect_equal(details$name, c("qol1", "qol2"))
  expect_equal(details$codes,  c(1, 2, 3, 4))
})
###############################################################################
context("testing getting the outcome details")
test_that("testing getting the outcome details",  {
  details <- get_eq5d_details(data.table("MO" = c(1, 2), "SC" = c(1, 2), "UA" = c(1, 2), "PD" = c(1, 2), "AD" = c(1, 2)))
  expect_equal(details$name, c("MO", "SC", "UA", "PD", "AD"))
  expect_equal(details$codes, c(1, 2))
  expect_error(get_eq5d_details(data.table("qol1" = c(1, 2), "qol2" = c(1, 2))))
  expect_error(get_eq5d_details(data.table("point" = c(21, 15))))
})
sheejamk/MarkovModel documentation built on Jan. 23, 2020, 2:44 a.m.