tests/testthat/test-roxytest-tests-surv_parametric.r

# Generated by roxytest: Do not edit by hand!

# File R/surv_parametric.r: @tests

test_that("Function define_surv_param() @ L65", {
  dist1 <- define_surv_param(distribution = "exp", rate = 0.05)
  expect_equal(class(dist1), c('surv_parametric', 'surv_dist'))
  expect_equal(dist1$distribution, 'exp')
  expect_equal(dist1$parameters, list(rate = 0.05))
  
  expect_error(
   define_surv_param(distribution = "weibull", shape = 1.2),
   'Error defining Weibull (AFT) distribution, parameters missing from function call: "scale".',
   fixed = TRUE
  )
})


test_that("Function print.surv_parametric() @ L99", {
  surv_dist1 <- define_surv_param('weibull', shape = 1.2438, scale = 20.3984)
  expect_output(
   print(surv_dist1),
   "A Weibull (AFT) distribution (shape = 1.24, scale = 20.40).",
   fixed = TRUE
  )
  
  surv_dist2 <- define_surv_param('exp', rate = 0.34)
  expect_output(
   print(surv_dist2),
   "An exponential distribution (rate = 0.34).",
   fixed = TRUE
  )
})


test_that("Function surv_prob.surv_parametric() @ L128", {
  dist1 <- define_surv_param('exp', rate = 0.12)
  expect_equal(
   surv_prob(dist1, c(0, 1, 2, 3)),
   c(1.0000000, 0.8869204, 0.7866279, 0.6976763),
   tolerance = 0.00001
  )
  
  dist1 <- define_surv_param('gengamma', mu = 2.321, sigma = 0.434, Q = -0.034)
  expect_equal(
   surv_prob(dist1, c(0, 1, 2, 3)),
   c(1.0000000, 1.0000000, 0.9999393, 0.9979701),
   tolerance = 0.00001
  )
})


test_that("Function get_flexsurv_dist() @ L154", {
  expect_equal(get_flexsurv_dist('weibull'), pweibull)
  expect_equal(get_flexsurv_dist('genf'), pgenf)
  expect_equal(get_flexsurv_dist('llogis'), pllogis)
})


test_that("Function get_flexsurv_dist_params() @ L170", {
  expect_equal(
   get_flexsurv_dist_params('weibull'), c('shape', 'scale')
  )
  expect_equal(
   get_flexsurv_dist_params('gengamma'),
   c('mu', 'sigma', 'Q')
  )
  expect_equal(
   get_flexsurv_dist_params('genf'),
   c('mu', 'sigma', 'Q', 'P')
  )
})


test_that("Function get_dist_params_from_args() @ L187", {
  expect_equal(
   get_dist_params_from_args(
       'weibull',
       list(foo=1,shape=2,scale=c(3,3,3),bar=4)
  ),
   list(shape=2,scale=3)
  )
})


test_that("Function get_dist_param_from_args() @ L214", {
  expect_equal(
   get_dist_param_from_args(
       'scale',
       list(foo=1,shape=2,scale=c(3,3,3),bar=4)
  ),
   3
  )
})


test_that("Function get_dist_display_name() @ L232", {
  expect_equal(
   get_dist_display_name('foo'),
   'foo'
  )
  
  expect_equal(
   get_dist_display_name('exp'),
   'exponential'
  )
})


test_that("Function define_survival() @ L247", {
  expect_equal(
   define_surv_param('lnorm', meanlog = 2.1, sdlog = 0.3),
   define_survival('lnorm', meanlog = 2.1, sdlog = 0.3)  
  )
})


test_that("Function check_param_names() @ L258", {
  expect_error(
   check_param_names(list(shape=1,foo=2), 'weibullPH'), 
   'Error defining Weibull (PH) distribution, parameters missing from function call: "scale".',
   fixed = T
  )
})
PolicyAnalysisInc/herosurv documentation built on May 21, 2023, 10:12 a.m.