tests/testthat/test-independent-test-sfCauchy.R

source('../gsDesign_independent_code.R')
#----------------------------------
### Testing sfCauchy function
#----------------------------------

testthat::test_that("Test: alpha - Testing incorrect variable type, 
                    out-of-range variable value", {
  testthat::expect_error(gsDesign::sfCauchy(alpha = "abc", t = c(.1, .4), 
                                            param = c(0.1, 0.2)), 
                         info = "Checking for incorrect variable type"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = 0, t = c(.1, .4), 
                                            param = c(0.1, 0.2)), 
                         info = "Checking for out-of-range variable value"
  )
  
 
  testthat::expect_error(gsDesign::sfCauchy(alpha = -1, t = c(.1, .4), 
                                            param = c(0.1, 0.2)), 
                         info = "Checking for out-of-range variable value"
  )
  
})


testthat::test_that("Test: t - Testing incorrect variable type, 
                    out-of-range variable value", {
  
 
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c("a", "b"), 
                                            param = c(0.1, 0.2)), 
                         info = "Checking for incorrect variable type"
  )
  
 
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(-.5, .75), 
                                            param = c(0.1, 0.2)), 
                         info = "Checking for out-of-range variable value"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(-.75, 1), 
                                            param = c(0.1, 0.2)), 
                         info = "Checking for out-of-range variable value"
  )
  
  
 
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(-1, -6), 
                                            param = c(0.1, 0.2)), 
                         info = "Checking for out-of-range variable value"
  )
  
 
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(0.2, 0.5, , 0.7, 1), 
                                            param = c(0.1, 0.2)), 
                         info = "Error in c(0.2, 0.5, , 0.7, 1) : argument 3 is empty"
  )
  
 
})



testthat::test_that("Test: param - Testing incorrect variable type, 
                    out-of-range variable value", {
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c("a", "b")), 
                         info = "Checking for incorrect variable type"
  )
  
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), param = 4), 
                         info = "Checking for incorrect variable type"
  )  
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), param = .4), 
                         info = "Checking for incorrect variable type"
  ) 
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(.4)), 
                         info = "Checking for length of the variable"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(.2, .55, .75)), 
                         info = "Checking for length of the variable"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(.2, .45, .55, 0.75, 0.85)), 
                         info = "Checking for length of the variable"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(0, 0)), 
                         info = "Checking for out-of-range of the variable"
  )
  
 
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(.1, -5)), 
                         info = "Checking for out-of-range of the variable"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(.1, 0)), 
                         info = "Checking for out-of-range of the variable"
  )
  
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(NULL, 0.2, 0.05, .4)), 
                         info = "Checking for out-of-range of the variable"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(0.1, 0.01, 0.1, 0.4)), 
                         info = "Checking for out-of-range of the variable"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(0.01, 0.1, 0.4, 0.1)), 
                         info = "Checking for out-of-range of the variable"
  )
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(0.01, -0.1, 0.1, 0.4)), 
                         info = "Checking for out-of-range of the variable"
  )
  
  
  testthat::expect_error(gsDesign::sfCauchy(alpha = .025, t = c(.1, .4), 
                                            param = c(0.4, 0.1, 0.1, 0.4)), 
                         info = "Checking for out-of-range of the variable"
  )
  
})


testthat::test_that("Test: output validation param length as 2, 
                    Source: gsDesign_independent_code.R", {
  
  t <- c(0.25, 0.5, 0.75, 1)
  param <- c(1, 2)
  alpha <- 0.05
    
  sp <- gsDesign::sfCauchy(alpha, t, param)$spend
  expect_sp <- validate_sfCauchy(alpha, t, param)
  expect_equal(sp, expect_sp)
})

 

testthat::test_that("Test: output validation param length as 4, 
                    Source: gsDesign_independent_code.R", {
  t <- c(0.25, 0.5, .75, 1)
  param <- c(0.2, 0.4, 0.1, 0.3)
  alpha <- 0.05
  
  sp <- gsDesign::sfCauchy(alpha, t, param)$spend
  expect_sp <- validate_sfCauchy(alpha, t, param)
  expect_equal(sp, expect_sp)
})

Try the gsDesign package in your browser

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

gsDesign documentation built on Nov. 12, 2023, 9:06 a.m.