testthat::context("base tests")
### Utility functions for gsDesign stress tests
"alpha.beta.range.util" <- function(alpha, beta, type, sf) {
no.err <- TRUE
for (a in alpha)
{
for (b in beta)
{
# sfLDPocock, test.type=3: errors with alpha >= .5 and beta close to 1 - alpha
if (b < 1 - a - 0.1) {
# cat("a = ", a, "b = ", b, "\n")
res <- try(gsDesign(test.type = type, alpha = a, beta = b, sfu = sf))
if (inherits(res, "try-error")) {
no.err <- FALSE
}
}
}
}
no.err
}
"param.range.util" <- function(param, type, sf) {
no.err <- TRUE
for (p in param)
{
res <- try(gsDesign(test.type = type, sfu = sf, sfupar = p))
if (inherits(res, "try-error")) {
no.err <- FALSE
}
}
no.err
}
a1 <- round(seq(from = 0.05, to = 0.95, by = 0.05), 2)
a2 <- round(seq(from = 0.05, to = 0.45, by = 0.05), 2)
b <- round(seq(from = 0.05, to = 0.95, by = 0.05), 2)
# nu: sfExponential parameter
nu <- round(seq(from = 0.1, to = 1.5, by = 0.1), 1)
# rho: sfPower parameter
rho <- round(seq(from = 1, to = 15, by = 1), 0)
# gamma: sfHSD parameter
gamma <- round(seq(from = -5, to = 5, by = 1), 0)
testthat::test_that("test.ciBinomial.adj", {
testthat::expect_error(gsDesign::ciBinomial(
adj = "abc", x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::ciBinomial(
adj = c(-1), x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::ciBinomial(
adj = 2, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::ciBinomial(
adj = rep(1, 2), x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.ciBinomial.alpha", {
testthat::expect_error(gsDesign::ciBinomial(
alpha = "abc", x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::ciBinomial(
alpha = 1, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::ciBinomial(
alpha = 0, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::ciBinomial(
alpha = rep(0.1, 2), x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.ciBinomial.n1", {
testthat::expect_error(gsDesign::ciBinomial(n1 = "abc", x1 = 2, x2 = 2, n2 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::ciBinomial(n1 = 0, x1 = 0, x2 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::ciBinomial(n1 = rep(2, 2), x1 = 2, x2 = 2, n2 = 2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.ciBinomial.n2", {
testthat::expect_error(gsDesign::ciBinomial(n2 = "abc", x1 = 2, x2 = 2, n1 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::ciBinomial(n2 = 0, x1 = 2, x2 = 0, n1 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::ciBinomial(n2 = rep(2, 2), x1 = 2, x2 = 2, n1 = 2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.ciBinomial.scale", {
testthat::expect_error(gsDesign::ciBinomial(
scale = 1, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::ciBinomial(
scale = "abc", x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::ciBinomial(
scale = rep("Difference", 2), x1 = 2,
x2 = 2, n1 = 2, n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.ciBinomial.tol", {
testthat::expect_error(gsDesign::ciBinomial(
tol = "abc", x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::ciBinomial(
tol = 0, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.ciBinomial.x1", {
testthat::expect_error(gsDesign::ciBinomial(x1 = "abc", x2 = 2, n1 = 2, n2 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::ciBinomial(x1 = 3, x2 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::ciBinomial(x1 = c(-1), x2 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::ciBinomial(x1 = rep(2, 2), x2 = 2, n1 = 2, n2 = 2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.ciBinomial.x2", {
testthat::expect_error(gsDesign::ciBinomial(x2 = "abc", x1 = 2, n1 = 2, n2 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::ciBinomial(x2 = 3, x1 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::ciBinomial(x2 = c(-1), x1 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::ciBinomial(x2 = rep(2, 2), x1 = 2, n1 = 2, n2 = 2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsbound.falsepos", {
testthat::expect_error(gsbound(falsepos = "abc", I = 1, trueneg = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound(falsepos = 0, I = 1, trueneg = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound(falsepos = 1, I = 1, trueneg = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound(falsepos = rep(0.5, 2), I = 1, trueneg = 0.5),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsbound.I", {
testthat::expect_error(gsbound(I = "abc", trueneg = 0.5, falsepos = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound(I = 0, trueneg = 0.5, falsepos = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound(I = rep(1, 2), trueneg = 0.5, falsepos = 0.5),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsbound.r", {
testthat::expect_error(gsbound(r = "abc", I = 1, trueneg = 0.5, falsepos = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound(r = 0, I = 1, trueneg = 0.5, falsepos = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound(r = 81, I = 1, trueneg = 0.5, falsepos = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound(
r = rep(1, 2), I = 1, trueneg = 0.5,
falsepos = 0.5
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsbound.tol", {
testthat::expect_error(gsbound(tol = "abc", I = 1, trueneg = 0.5, falsepos = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound(tol = 0, I = 1, trueneg = 0.5, falsepos = 0.5),
info = "Checking for out-of-range variable value"
)
})
testthat::test_that("test.gsbound.trueneg", {
testthat::expect_error(gsbound(trueneg = "abc", I = 1, falsepos = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound(trueneg = 0, I = 1, falsepos = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound(trueneg = 1, I = 1, falsepos = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound(trueneg = rep(0.5, 2), I = 1, falsepos = 0.5),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsbound1.a", {
testthat::expect_error(gsbound1(a = "abc", theta = 1, I = 1, probhi = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound1(
a = rep(0.5, 2), theta = 1, I = 1,
probhi = 0.5
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsbound1.I", {
testthat::expect_error(gsbound1(I = "abc", theta = 1, a = 0, probhi = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound1(I = 0, theta = 1, a = 0, probhi = 0.5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound1(I = rep(1, 2), theta = 1, a = 0, probhi = 0.5),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsbound1.probhi", {
testthat::expect_error(gsbound1(probhi = "abc", I = 1, a = 0, theta = 1),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound1(probhi = 0, I = 1, a = 0, theta = 1),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound1(probhi = 1, I = 1, a = 0, theta = 1),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsbound1(
probhi = rep(0.5, 2), I = 1, a = 0,
theta = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsbound1.r", {
testthat::expect_error(gsbound1(
r = "abc", I = 1, a = 0, probhi = 0.5,
theta = 1
), info = "Checking for incorrect variable type")
testthat::expect_error(gsbound1(
r = 0, I = 1, a = 0, probhi = 0.5,
theta = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsbound1(
r = 81, I = 1, a = 0, probhi = 0.5,
theta = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsbound1(
r = rep(1, 2), I = 1, a = 0, probhi = 0.5,
theta = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsbound1.theta", {
testthat::expect_error(gsbound1(theta = "abc", I = 1, a = 0, probhi = 0.5),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsbound1(theta = rep(1, 2), I = 1, a = 0, probhi = 0.5),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsbound1.tol", {
testthat::expect_error(gsbound1(
tol = "abc", I = 1, a = 0, probhi = 0.5,
theta = 1
), info = "Checking for incorrect variable type")
testthat::expect_error(gsbound1(
tol = 0, I = 1, a = 0, probhi = 0.5,
theta = 1
), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.gsBoundCP.r", {
testthat::expect_error(gsDesign::gsBoundCP(r = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsBoundCP(r = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsBoundCP(r = 81), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsBoundCP(r = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsBoundCP.theta", {
testthat::expect_error(gsDesign::gsBoundCP(theta = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsBoundCP(theta = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsBoundCP.x", {
testthat::expect_error(gsDesign::gsBoundCP(x = "abc"), info = "Checking for incorrect variable type")
})
testthat::test_that("test.gsCP.r", {
testthat::expect_error(gsDesign::gsCP(r = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsCP(r = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsCP(r = 81), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsCP(r = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsCP.x", {
testthat::expect_error(gsDesign::gsCP(x = "abc"), info = "Checking for incorrect variable type")
})
testthat::test_that("test.gsDesign.alpha", {
testthat::expect_error(gsDesign::gsDesign(alpha = "abc", test.type = 1), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(alpha = 0, test.type = 1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(alpha = 1, test.type = 1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(alpha = 0.51, test.type = 2), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(alpha = rep(0.5, 2), test.type = 1),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsDesign.astar", {
testthat::expect_error(gsDesign::gsDesign(astar = "abc", test.type = 5), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(astar = 0.51, alpha = 0.5, test.type = 5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::gsDesign(astar = 1, alpha = 0, test.type = 5),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::gsDesign(astar = -1, test.type = 6), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(astar = rep(0.1, 2), alpha = 0.5, test.type = 5),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsDesign.beta", {
testthat::expect_error(gsDesign::gsDesign(beta = "abc", test.type = 3), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(beta = 0.5, alpha = 0.5, test.type = 3),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::gsDesign(beta = 1, alpha = 0, test.type = 3),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::gsDesign(beta = 0, test.type = 3), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(beta = rep(0.1, 2), alpha = 0.5, test.type = 3),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.gsDesign.delta", {
testthat::expect_error(gsDesign::gsDesign(delta = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(delta = -1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(delta = rep(0.1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.k", {
testthat::expect_error(gsDesign::gsDesign(k = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(k = 1.2), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(k = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(k = 24, test.type = 4), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(k = seq(2)), info = "Checking for incorrect variable length")
testthat::expect_error(gsDesign::gsDesign(k = 3, sfu = sfpoints, sfupar = c(
0.05,
0.1, 0.15, 0.2, 1
)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.maxn.I", {
testthat::expect_error(gsDesign::gsDesign(maxn.I = "abc"), info = "Checking for incorrect variable type")
})
testthat::test_that("test.gsDesign.n.fix", {
testthat::expect_error(gsDesign::gsDesign(n.fix = "abc", delta = 0), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(n.fix = -1, delta = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(n.fix = rep(2, 2), delta = 0), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.n.I", {
testthat::expect_error(gsDesign::gsDesign(n.I = "abc"), info = "Checking for incorrect variable type")
})
testthat::test_that("test.gsDesign.r", {
testthat::expect_error(gsDesign::gsDesign(r = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(r = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(r = 81), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(r = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.sfl", {
testthat::expect_error(gsDesign::gsDesign(sfl = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(sfl = rep(sfHSD, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.sflpar", {
testthat::expect_error(gsDesign::gsDesign(sflpar = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(sflpar = rep(-2, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.sfu", {
testthat::expect_error(gsDesign::gsDesign(sfu = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(sfu = rep(sfHSD, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.sfupar", {
testthat::expect_error(gsDesign::gsDesign(sfupar = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(sfupar = rep(-4, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.test.type", {
testthat::expect_error(gsDesign::gsDesign(test.type = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(test.type = 1.2), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(test.type = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(test.type = 7), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(test.type = seq(2)), info = "Checking for incorrect variable length")
testthat::expect_error(gsDesign::gsDesign(test.type = 3, sfu = "WT"), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(test.type = 4, sfu = "WT"), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(test.type = 5, sfu = "WT"), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(test.type = 6, sfu = "WT"), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.gsDesign.timing", {
testthat::expect_error(gsDesign::gsDesign(timing = "abc", k = 1), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(timing = -1, k = 1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(timing = 2, k = 1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(timing = c(0.1, 1.1), k = 2), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(timing = c(0.5, 0.1), k = 2), info = "NA")
testthat::expect_error(gsDesign::gsDesign(timing = c(0.1, 0.5, 1), k = 2), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsDesign.tol", {
testthat::expect_error(gsDesign::gsDesign(tol = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsDesign(tol = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(tol = 0.10000001), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsDesign(tol = rep(0.1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.stress.sfExp.type1", {
no.errors <- param.range.util(param = nu, type = 1, sf = sfExponential)
testthat::expect_true(no.errors, info = "Type 1 sfExponential stress test")
})
testthat::test_that("test.stress.sfExp.type2", {
no.errors <- param.range.util(param = nu, type = 2, sf = sfExponential)
testthat::expect_true(no.errors, info = "Type 2 sfExponential stress test")
})
testthat::test_that("test.stress.sfExp.type3", {
no.errors <- param.range.util(param = nu, type = 3, sf = sfExponential)
testthat::expect_true(no.errors, info = "Type 3 sfExponential stress test")
})
testthat::test_that("test.stress.sfExp.type4", {
no.errors <- param.range.util(param = nu, type = 4, sf = sfExponential)
testthat::expect_true(no.errors, info = "Type 4 sfExponential stress test")
})
testthat::test_that("test.stress.sfExp.type5", {
no.errors <- param.range.util(param = nu, type = 5, sf = sfExponential)
testthat::expect_true(no.errors, info = "Type 5 sfExponential stress test")
})
testthat::test_that("test.stress.sfExp.type6", {
no.errors <- param.range.util(param = nu, type = 6, sf = sfExponential)
testthat::expect_true(no.errors, info = "Type 6 sfExponential stress test")
})
testthat::test_that("test.stress.sfHSD.type1", {
no.errors <- param.range.util(param = gamma, type = 1, sf = sfHSD)
testthat::expect_true(no.errors, info = "Type 1 sfHSD stress test")
})
testthat::test_that("test.stress.sfHSD.type2", {
no.errors <- param.range.util(param = gamma, type = 2, sf = sfHSD)
testthat::expect_true(no.errors, info = "Type 2 sfHSD stress test")
})
testthat::test_that("test.stress.sfHSD.type3", {
no.errors <- param.range.util(param = gamma, type = 3, sf = sfHSD)
testthat::expect_true(no.errors, info = "Type 3 sfHSD stress test")
})
testthat::test_that("test.stress.sfHSD.type4", {
no.errors <- param.range.util(param = gamma, type = 4, sf = sfHSD)
testthat::expect_true(no.errors, info = "Type 4 sfHSD stress test")
})
testthat::test_that("test.stress.sfHSD.type5", {
no.errors <- param.range.util(param = gamma, type = 5, sf = sfHSD)
testthat::expect_true(no.errors, info = "Type 5 sfHSD stress test")
})
testthat::test_that("test.stress.sfHSD.type6", {
no.errors <- param.range.util(param = gamma, type = 6, sf = sfHSD)
testthat::expect_true(no.errors, info = "Type 6 sfHSD stress test")
})
testthat::test_that("test.stress.sfLDOF.type1", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 1, sf = sfLDOF
)
testthat::expect_true(no.errors, info = "Type 1 LDOF stress test")
})
testthat::test_that("test.stress.sfLDOF.type2", {
no.errors <- alpha.beta.range.util(
alpha = a2, beta = b,
type = 2, sf = sfLDOF
)
testthat::expect_true(no.errors, info = "Type 2 LDOF stress test")
})
testthat::test_that("test.stress.sfLDOF.type3", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 3, sf = sfLDOF
)
testthat::expect_true(no.errors, info = "Type 3 LDOF stress test")
})
testthat::test_that("test.stress.sfLDOF.type4", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 4, sf = sfLDOF
)
testthat::expect_true(no.errors, info = "Type 4 LDOF stress test")
})
testthat::test_that("test.stress.sfLDOF.type5", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 5, sf = sfLDOF
)
testthat::expect_true(no.errors, info = "Type 5 LDOF stress test")
})
testthat::test_that("test.stress.sfLDOF.type6", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 6, sf = sfLDOF
)
testthat::expect_true(no.errors, info = "Type 6 LDOF stress test")
})
testthat::test_that("test.stress.sfLDPocock.type1", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 1, sf = sfLDPocock
)
testthat::expect_true(no.errors, info = "Type 1 LDPocock stress test")
})
testthat::test_that("test.stress.sfLDPocock.type2", {
no.errors <- alpha.beta.range.util(
alpha = a2, beta = b,
type = 2, sf = sfLDPocock
)
testthat::expect_true(no.errors, info = "Type 2 LDPocock stress test")
})
testthat::test_that("test.stress.sfLDPocock.type3", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 3, sf = sfLDPocock
)
testthat::expect_true(no.errors, info = "Type 3 LDPocock stress test")
})
testthat::test_that("test.stress.sfLDPocock.type4", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 4, sf = sfLDPocock
)
testthat::expect_true(no.errors, info = "Type 4 LDPocock stress test")
})
testthat::test_that("test.stress.sfLDPocock.type5", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 5, sf = sfLDPocock
)
testthat::expect_true(no.errors, info = "Type 5 LDPocock stress test")
})
testthat::test_that("test.stress.sfLDPocock.type6", {
no.errors <- alpha.beta.range.util(
alpha = a1, beta = b,
type = 6, sf = sfLDPocock
)
testthat::expect_true(no.errors, info = "Type 6 LDPocock stress test")
})
testthat::test_that("test.stress.sfPower.type1", {
no.errors <- param.range.util(param = rho, type = 1, sf = sfPower)
testthat::expect_true(no.errors, info = "Type 1 sfPower stress test")
})
testthat::test_that("test.stress.sfPower.type2", {
no.errors <- param.range.util(param = rho, type = 2, sf = sfPower)
testthat::expect_true(no.errors, info = "Type 2 sfPower stress test")
})
testthat::test_that("test.stress.sfPower.type3", {
no.errors <- param.range.util(param = rho, type = 3, sf = sfPower)
testthat::expect_true(no.errors, info = "Type 3 sfPower stress test")
})
testthat::test_that("test.stress.sfPower.type4", {
no.errors <- param.range.util(param = rho, type = 4, sf = sfPower)
testthat::expect_true(no.errors, info = "Type 4 sfPower stress test")
})
testthat::test_that("test.stress.sfPower.type5", {
no.errors <- param.range.util(param = rho, type = 5, sf = sfPower)
testthat::expect_true(no.errors, info = "Type 5 sfPower stress test")
})
testthat::test_that("test.stress.sfPower.type6", {
no.errors <- param.range.util(param = rho, type = 6, sf = sfPower)
testthat::expect_true(no.errors, info = "Type 6 sfPower stress test")
})
testthat::test_that("test.gsProbability.a", {
testthat::expect_error(gsDesign::gsProbability(a = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsProbability(a = c(1, 2), k = 3), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsProbability.b", {
testthat::expect_error(gsDesign::gsProbability(b = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsProbability(b = c(1, 2), k = 3), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsProbability.k", {
testthat::expect_error(gsDesign::gsProbability(k = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsProbability(k = -1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsProbability(k = 1, d = gsDesign::gsDesign()), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsProbability(k = 31), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsProbability(k = seq(2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsProbability.n.I", {
testthat::expect_error(gsDesign::gsProbability(n.I = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsProbability(n.I = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsProbability(n.I = c(2, 1)), info = "Checking for out-of-order input sequence")
testthat::expect_error(gsDesign::gsProbability(n.I = c(1, 2), k = 3), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsProbability.r", {
testthat::expect_error(gsDesign::gsProbability(r = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::gsProbability(r = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsProbability(r = 81), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::gsProbability(r = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.gsProbability.theta", {
testthat::expect_error(gsDesign::gsProbability(theta = "abc"), info = "Checking for incorrect variable type")
})
testthat::test_that("test.nBinomial.alpha", {
testthat::expect_error(gsDesign::nBinomial(alpha = "abc", p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::nBinomial(alpha = 1, p1 = 0.1, p2 = 0.2, sided = 1),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::nBinomial(alpha = 0.5, p1 = 0.1, p2 = 0.2, sided = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::nBinomial(alpha = 0, p1 = 0.1, p2 = 0.2, sided = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::nBinomial(alpha = rep(0.1, 2), p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.nBinomial.beta", {
testthat::expect_error(gsDesign::nBinomial(beta = "abc", p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::nBinomial(
beta = 0.7, p1 = 0.1, p2 = 0.2, sided = 1,
alpha = 0.3
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(beta = 0, p1 = 0.1, p2 = 0.2), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(beta = rep(0.1, 2), p1 = 0.1, p2 = rep(
0.2,
3
)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.nBinomial.delta0", {
testthat::expect_error(gsDesign::nBinomial(delta0 = "abc", p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::nBinomial(delta0 = 0, p1 = 0.1, p2 = 0.1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(delta0 = 0.1, p1 = 0.2, p2 = 0.1),
info = "Checking for out-of-range variable value"
)
})
testthat::test_that("test.nBinomial.outtype", {
testthat::expect_error(gsDesign::nBinomial(outtype = "abc", p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::nBinomial(outtype = 0, p1 = 0.1, p2 = 0.2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::nBinomial(outtype = 4, p1 = 0.1, p2 = 0.2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::nBinomial(outtype = rep(1, 2), p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.nBinomial.p1", {
testthat::expect_error(gsDesign::nBinomial(p1 = "abc", p2 = 0.1), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::nBinomial(p1 = 0, p2 = 0.1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(p1 = 1, p2 = 0.1), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.nBinomial.p2", {
testthat::expect_error(gsDesign::nBinomial(p2 = "abc", p1 = 0.1), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::nBinomial(p2 = 0, p1 = 0.1), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(p2 = 1, p1 = 0.1), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.nBinomial.ratio", {
testthat::expect_error(gsDesign::nBinomial(ratio = "abc", p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::nBinomial(ratio = 0, p1 = 0.1, p2 = 0.2), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(ratio = rep(0.5, 2), p1 = 0.1, p2 = rep(
0.2,
3
)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.nBinomial.scale", {
testthat::expect_error(gsDesign::nBinomial(scale = 1, p1 = 0.1, p2 = 0.2), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::nBinomial(scale = "abc", p1 = 0.1, p2 = 0.2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::nBinomial(scale = rep("RR", 2), p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.nBinomial.sided", {
testthat::expect_error(gsDesign::nBinomial(sided = "abc", p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::nBinomial(sided = 0, p1 = 0.1, p2 = 0.2), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(sided = 3, p1 = 0.1, p2 = 0.2), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::nBinomial(sided = rep(1, 2), p1 = 0.1, p2 = 0.2),
info = "Checking for incorrect variable length"
)
})
testthat::test_that("test.normalGrid.bounds", {
testthat::expect_error(gsDesign::normalGrid(bounds = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::normalGrid(bounds = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::normalGrid(bounds = c(2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.normalGrid.mu", {
testthat::expect_error(gsDesign::normalGrid(mu = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::normalGrid(mu = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.normalGrid.r", {
testthat::expect_error(gsDesign::normalGrid(r = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::normalGrid(r = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::normalGrid(r = 81), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::normalGrid(r = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.normalGrid.sigma", {
testthat::expect_error(gsDesign::normalGrid(sigma = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::normalGrid(sigma = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::normalGrid(sigma = rep(1, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.Deming.gsProb", {
w <- sum(gsDesign::gsProbability(k = 2, theta = 0, n.I = 1:2, a = stats::qnorm(0.025) *
c(1, 1), b = stats::qnorm(0.975) * c(1, 1))$upper$prob)
x <- sum(gsDesign::gsProbability(k = 4, theta = 0, n.I = 1:4, a = stats::qnorm(0.025) *
c(1, 1, 1, 1), b = stats::qnorm(0.975) * c(1, 1, 1, 1))$upper$prob)
y <- sum(gsDesign::gsProbability(k = 10, theta = 0, n.I = 1:10, a = stats::qnorm(0.025) *
array(1, 10), b = stats::qnorm(0.975) * array(1, 10))$upper$prob)
z <- sum(gsDesign::gsProbability(k = 20, theta = 0, n.I = 1:20, a = stats::qnorm(0.025) *
array(1, 20), b = stats::qnorm(0.975) * array(1, 20))$upper$prob)
testthat::expect_equal(0.042, round(w, 3), info = "Checking Type I error, k = 2")
testthat::expect_equal(0.063, round(x, 3), info = "Checking Type I error, k = 4")
testthat::expect_equal(0.097, round(y, 3), info = "Checking Type I error, k = 10")
testthat::expect_equal(0.124, round(z, 3), info = "Checking Type I error, k = 20")
})
testthat::test_that("test.Deming.OFbound", {
x <- gsDesign::gsDesign(
k = 4, test.type = 2, sfu = "OF", n.fix = 1372,
beta = 0.2
)
testthat::expect_equal(c(4.05, 2.86, 2.34, 2.02), round(
x$upper$bound,
2
), info = "Checking O'Brien-Fleming bounds")
})
testthat::test_that("test.JT.OFss", {
x <- gsDesign::gsDesign(k = 5, test.type = 2, sfu = "OF", beta = 0.2)
testthat::expect_equal(102.8, round(x$n.I[5] * 100, 1), info = "Checking 2-sided OF (gsDesign n.I), k=4, beta=0.2")
testthat::expect_equal(102.1, round(x$en[1] * 100, 1), info = "Checking 2-sided Pocock (gsDesign en), k=4, beta=0.2")
x <- gsDesign::gsDesign(k = 20, test.type = 2, sfu = "OF", beta = 0.1)
testthat::expect_equal(104.5, round(x$n.I[20] * 100, 1), info = "Checking 2-sided OF (gsDesign n.I), k=20, beta=0.1")
testthat::expect_equal(103.4, round(x$en[1] * 100, 1), info = "Checking 2-sided Pocock (gsDesign en), k=20, beta=0.1")
})
testthat::test_that("test.JT.Pocock", {
x <- gsDesign::gsDesign(k = 4, test.type = 2, sfu = "Pocock", beta = 0.2)
testthat::expect_equal(120.2, round(x$n.I[4] * 100, 1), info = "Checking 2-sided Pocock (gsDesign n.I), k=4, beta=0.2")
testthat::expect_equal(117.5, round(x$en[1] * 100, 1), info = "Checking 2-sided Pocock (gsDesign en), k=4, beta=0.2")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1, 1.5), d = x)
testthat::expect_equal(c(117.5, 108.8, 80.5, 52.2), round(
y$en * 100,
1
), info = "Checking 2-sided Pocock (gsProb), k=4, beta=0.2")
x <- gsDesign::gsDesign(k = 15, test.type = 2, sfu = "Pocock", beta = 0.1)
testthat::expect_equal(130.5, round(x$n.I[15] * 100, 1), info = "Checking 2-sided Pocock (gsDesign n.I), k=15, beta=0.1")
testthat::expect_equal(126.4, round(x$en[1] * 100, 1), info = "Checking 2-sided Pocock (gsDesign en), k=15, beta=0.1")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1, 1.5), d = x)
testthat::expect_equal(c(126.4, 111.2, 66.4, 35.4), round(
y$en * 100,
1
), info = "Checking 2-sided Pocock (gsProb), k=15, beta=0.1")
})
testthat::test_that("test.JT.Power.symm", {
x <- gsDesign::gsDesign(
k = 3, test.type = 2, sfu = sfPower, sfupar = 1,
beta = 0.2
)
testthat::expect_equal(111.7, round(x$n.I[3] * 100, 1), info = "Checking symm 2-sided sfPower (gsDesign n.I), k=3, rho=1")
testthat::expect_equal(109.9, round(x$en[1] * 100, 1), info = "Checking symm 2-sided sfPower (gsDesign en), k=3, rho=1")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1, 1.5), d = x)
testthat::expect_equal(c(109.9, 103.4, 81.2, 56.5), round(
y$en * 100,
1
), info = "Checking symm 2-sided sfPower (gsProb), k=3, rho=1")
x <- gsDesign::gsDesign(
k = 10, test.type = 2, sfu = sfPower, sfupar = 2,
beta = 0.2
)
testthat::expect_equal(108.1, round(x$n.I[10] * 100, 1), info = "Checking symm 2-sided sfPower (gsDesign), k=10, rho=2")
testthat::expect_equal(106.6, round(x$en[1] * 100, 1), info = "Checking symm 2-sided sfPower (gsDesign en), k=10, rho=2")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1, 1.5), d = x)
testthat::expect_equal(c(106.6, 99.7, 76.2, 51), round(
y$en * 100,
1
), info = "Checking symm 2-sided sfPower (gsProb), k=10, rho=2")
x <- gsDesign::gsDesign(
k = 2, test.type = 2, sfu = sfPower, sfupar = 3,
beta = 0.2
)
testthat::expect_equal(101, round(x$n.I[2] * 100, 1), info = "Checking symm 2-sided sfPower (gsDesign), k=2, rho=3")
testthat::expect_equal(100.7, round(x$en[1] * 100, 1), info = "Checking symm 2-sided sfPower (gsDesign en), k=2, rho=3")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1, 1.5), d = x)
testthat::expect_equal(c(100.7, 98.9, 89.5, 70.7), round(
y$en * 100,
1
), info = "Checking symm 2-sided sfPower (gsProb), k=2, rho=3")
})
testthat::test_that("test.JT.Power.type3", {
x <- gsDesign::gsDesign(
k = 5, test.type = 3, alpha = 0.05, beta = 0.05,
sfu = sfPower, sfupar = 2, sfl = sfPower, sflpar = 2
)
testthat::expect_equal(110.1, round(x$n.I[5] * 100, 1), info = "Checking type3 sfPower (gsDesign n.I), k=5, rho=2, beta=0.05")
testthat::expect_equal(63.4, round(x$en[1] * 100, 1), info = "Checking type3 sfPower (gsDesign en), k=5, rho=2, beta=0.05")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1), d = x)
testthat::expect_equal(c(63.4, 80.3, 63.4), round(y$en * 100, 1), info = "Checking type3 sfPower (gsProb), k=5, rho=2, beta=0.05")
x <- gsDesign::gsDesign(
k = 10, test.type = 3, alpha = 0.05, beta = 0.05,
sfu = sfPower, sfupar = 3, sfl = sfPower, sflpar = 3
)
testthat::expect_equal(106.9, round(x$n.I[10] * 100, 1), info = "Checking type3 sfPower (gsDesign n.I), k=10, rho=3, beta=0.05")
testthat::expect_equal(63.1, round(x$en[1] * 100, 1), info = "Checking type3 sfPower (gsDesign en), k=10, rho=3, beta=0.05")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1), d = x)
testthat::expect_equal(c(63.1, 79.5, 63.1), round(y$en * 100, 1), info = "Checking type3 sfPower (gsProb), k=10, rho=3, beta=0.05")
x <- gsDesign::gsDesign(
test.type = 3, alpha = 0.05, sfu = sfPower,
sfupar = 2, sfl = sfPower, sflpar = 2
)
testthat::expect_equal(107.2, round(x$n.I[3] * 100, 1), info = "Checking type3 sfPower (gsDesign n.I), k=3, rho=2, beta=0.1")
testthat::expect_equal(68.1, round(x$en[1] * 100, 1), info = "Checking type3 sfPower (gsDesign en), k=3, rho=2, beta=0.1")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1), d = x)
testthat::expect_equal(c(68.1, 83.9, 73.8), round(y$en * 100, 1), info = "Checking type3 sfPower (gsProb), k=3, rho=2, beta=0.1")
x <- gsDesign::gsDesign(
k = 4, test.type = 3, alpha = 0.05, sfu = sfPower,
sfupar = 3, sfl = sfPower, sflpar = 3
)
testthat::expect_equal(104, round(x$n.I[4] * 100, 1), info = "Checking type3 sfPower (gsDesign n.I), k=4, rho=3, beta=0.1")
testthat::expect_equal(69.2, round(x$en[1] * 100, 1), info = "Checking type3 sfPower (gsDesign en), k=4, rho=3, beta=0.1")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1), d = x)
testthat::expect_equal(c(69.2, 84.2, 74.2), round(y$en * 100, 1), info = "Checking type3 sfPower (gsProb), k=3, rho=3, beta=0.1")
x <- gsDesign::gsDesign(
k = 2, test.type = 3, alpha = 0.05, beta = 0.2,
sfu = sfPower, sfupar = 2, sfl = sfPower, sflpar = 2
)
testthat::expect_equal(104.3, round(x$n.I[2] * 100, 1), info = "Checking type3 sfPower (gsDesign n.I), k=2, rho=2, beta=0.2")
testthat::expect_equal(74.5, round(x$en[1] * 100, 1), info = "Checking type3 sfPower (gsDesign en), k=2, rho=2, beta=0.2")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1), d = x)
testthat::expect_equal(c(74.5, 87.8, 84.6), round(y$en * 100, 1), info = "Checking type3 sfPower (gsProb), k=2, rho=2, beta=0.2")
x <- gsDesign::gsDesign(
k = 15, test.type = 3, alpha = 0.05, beta = 0.2,
sfu = sfPower, sfupar = 3, sfl = sfPower, sflpar = 3
)
testthat::expect_equal(106.9, round(x$n.I[15] * 100, 1), info = "Checking type3 sfPower (gsDesign n.I), k=15, rho=3, beta=0.2")
testthat::expect_equal(62.2, round(x$en[1] * 100, 1), info = "Checking type3 sfPower (gsDesign en), k=15, rho=3, beta=0.2")
y <- gsDesign::gsProbability(theta = x$delta * c(0, 0.5, 1), d = x)
testthat::expect_equal(c(62.2, 77.3, 73), round(y$en * 100, 1), info = "Checking type3 sfPower (gsProb), k=15, rho=3, beta=0.2")
})
testthat::test_that("test.JT.WT", {
x <- gsDesign::gsDesign(
k = 9, test.type = 2, sfu = "WT", sfupar = 0.1,
beta = 0.1
)
testthat::expect_equal(1.048, round(x$n.I[9], 3), info = "Checking 2-sided WT max SS, Delta=0.1, k=9, beta=0.1")
testthat::expect_equal(2.113, round(x$upper$bound[9], 3), info = "Checking 2-sided WT bound, Delta=0.1, k=9, beta=0.1")
x <- gsDesign::gsDesign(
k = 6, test.type = 2, sfu = "WT", sfupar = 0.25,
beta = 0.2
)
testthat::expect_equal(1.077, round(x$n.I[6], 3), info = "Checking 2-sided WT max SS, Delta=0.25, k=6, beta=0.2")
testthat::expect_equal(2.154, round(x$upper$bound[6], 3), info = "Checking 2-sided WT bound, Delta=0.25, k=6, beta=0.2")
x <- gsDesign::gsDesign(
k = 7, test.type = 2, sfu = "WT", sfupar = 0.4,
beta = 0.2
)
testthat::expect_equal(1.159, round(x$n.I[7], 3), info = "Checking 2-sided WT max SS, Delta=0.4, k=7, beta=0.2")
testthat::expect_equal(2.313, round(x$upper$bound[7], 3), info = "Checking 2-sided WT bound, Delta=0.4, k=7, beta=0.2")
})
testthat::test_that("test.plot.gsDesign.plottype", {
testthat::expect_error(gsDesign::plot.gsDesign(plottype = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::plot.gsDesign(plottype = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::plot.gsDesign(plottype = 8), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::plot.gsDesign(plottype = rep(2, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.plot.gsProbability.plottype", {
testthat::expect_error(gsDesign::plot.gsProbability(plottype = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::plot.gsProbability(plottype = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::plot.gsProbability(plottype = 8), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::plot.gsProbability(plottype = rep(2, 2)), info = "Checking for incorrect variable length")
})
testthat::test_that("test.sfcauchy.param", {
testthat::expect_error(sfcauchy(param = rep(1, 3)), info = "Checking for incorrect variable length")
testthat::expect_error(sfcauchy(
param = c(0.1, 0.6, 0.2, 0.05), k = 5,
timing = c(0.1, 0.25, 0.4, 0.6)
), info = "Checking for out-of-order input sequence")
})
testthat::test_that("test.sfcauchy.param ", {
testthat::expect_error(sfcauchy(param = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(sfcauchy(param = c(1, 0)), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.sfexp.param", {
testthat::expect_error(sfexp(param = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(sfexp(param = rep(1, 2)), info = "Checking for incorrect variable length")
testthat::expect_error(sfexp(param = 0), info = "Checking for out-of-range variable value")
testthat::expect_error(sfexp(param = 11), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.sfHSD.param", {
testthat::expect_error(gsDesign::sfHSD(param = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::sfHSD(param = rep(1, 2)), info = "Checking for incorrect variable length")
testthat::expect_error(gsDesign::sfHSD(param = -41), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::sfHSD(param = 41), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.sflogistic.param", {
testthat::expect_error(sflogistic(param = rep(1, 3)), info = "Checking for incorrect variable length")
testthat::expect_error(sflogistic(
param = c(0.1, 0.6, 0.2, 0.05), k = 5,
timing = c(0.1, 0.25, 0.4, 0.6)
), info = "Checking for out-of-order input sequence")
})
testthat::test_that("test.sflogistic.param ", {
testthat::expect_error(sflogistic(param = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(sflogistic(param = c(1, 0)), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.sfnorm.param", {
testthat::expect_error(sfnorm(param = rep(1, 3)), info = "Checking for incorrect variable length")
testthat::expect_error(sfnorm(
param = c(0.1, 0.6, 0.2, 0.05), k = 5,
timing = c(0.1, 0.25, 0.4, 0.6)
), info = "Checking for out-of-order input sequence")
})
testthat::test_that("test.sfnorm.param ", {
testthat::expect_error(sfnorm(param = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(sfnorm(param = c(1, 0)), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.sfpower.param", {
testthat::expect_error(sfpower(param = "abc"), info = "Checking for incorrect variable type")
testthat::expect_error(sfpower(param = rep(1, 2)), info = "Checking for incorrect variable length")
testthat::expect_error(sfpower(param = -1), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.sfTDist.param", {
testthat::expect_error(gsDesign::sfTDist(param = rep(1, 4)), info = "Checking for incorrect variable length")
testthat::expect_error(gsDesign::sfTDist(param = c(1, 0, 1)), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::sfTDist(param = c(1, 1, 0.5)), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::sfTDist(param = 1, 1:3 / 4, c(
0.25, 0.5, 0.75,
0.1, 0.2, 0.3
)), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.sfTDist.param ", {
testthat::expect_error(gsDesign::sfTDist(param = "abc"), info = "Checking for incorrect variable type")
})
testthat::test_that("test.simBinomial.adj", {
testthat::expect_error(gsDesign::simBinomial(
adj = "abc", p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::simBinomial(
adj = c(-1), p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::simBinomial(
adj = 2, p1 = 0.1, p2 = 0.2, n1 = 1,
n2 = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::simBinomial(
adj = rep(1, 2), p1 = 0.1, p2 = 0.2,
n1 = rep(1, 3), n2 = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.simBinomial.chisq", {
testthat::expect_error(gsDesign::simBinomial(
chisq = "abc", p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::simBinomial(
chisq = c(-1), p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::simBinomial(
chisq = 2, p1 = 0.1, p2 = 0.2, n1 = 1,
n2 = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::simBinomial(
chisq = rep(1, 2), p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.simBinomial.delta0", {
testthat::expect_error(gsDesign::simBinomial(
delta0 = "abc", p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::simBinomial(
delta0 = c(-1), p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::simBinomial(
delta0 = 1, p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::simBinomial(
delta0 = rep(0.1, 2), p1 = 0.1,
p2 = 0.2, n1 = 1, n2 = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.simBinomial.n1", {
testthat::expect_error(gsDesign::simBinomial(
n1 = "abc", p1 = 0.1, p2 = 0.2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::simBinomial(n1 = 0, p1 = 0.1, p2 = 0.2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::simBinomial(
n1 = rep(2, 2), p1 = 0.1, p2 = 0.2,
n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.simBinomial.n2", {
testthat::expect_error(gsDesign::simBinomial(
n2 = "abc", p1 = 0.1, p2 = 0.2,
n1 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::simBinomial(n2 = 0, p1 = 0.1, p2 = 0.2, n1 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::simBinomial(
n2 = rep(2, 2), p1 = 0.1, p2 = 0.2,
n1 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.simBinomial.p1", {
testthat::expect_error(gsDesign::simBinomial(p1 = "abc", p2 = 0.1, n1 = 1, n2 = 1),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::simBinomial(p1 = 0, p2 = 0.1, n1 = 1, n2 = 1),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::simBinomial(p1 = 1, p2 = 0.1, n1 = 1, n2 = 1),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::simBinomial(
p1 = rep(0.1, 2), p2 = 0.1, n1 = 1,
n2 = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.simBinomial.p2", {
testthat::expect_error(gsDesign::simBinomial(p2 = "abc", p1 = 0.1, n1 = 1, n2 = 1),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::simBinomial(p2 = 0, p1 = 0.1, n1 = 1, n2 = 1),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::simBinomial(p2 = 1, p1 = 0.1, n1 = 1, n2 = 1),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::simBinomial(
p2 = rep(0.2, 2), p1 = 0.1, n1 = 1,
n2 = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.simBinomial.scale", {
testthat::expect_error(gsDesign::simBinomial(
scale = 1, p1 = 0.1, p2 = 0.2, n1 = 1,
n2 = 1
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::simBinomial(
scale = "abc", p1 = 0.1, p2 = 0.2,
n1 = 1, n2 = 1
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::simBinomial(
scale = rep("RR", 2), p1 = 0.1,
p2 = 0.2, n1 = 1, n2 = 1
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.testBinomial.adj", {
testthat::expect_error(gsDesign::testBinomial(
adj = "abc", x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::testBinomial(
adj = c(-1), x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::testBinomial(
adj = 2, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::testBinomial(
adj = rep(1, 2), x1 = 2, x2 = 2,
n1 = rep(2, 3), n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.testBinomial.chisq", {
testthat::expect_error(gsDesign::testBinomial(
chisq = "abc", x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::testBinomial(
chisq = c(-1), x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::testBinomial(
chisq = 2, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::testBinomial(
chisq = rep(1, 2), x1 = 2, x2 = 2,
n1 = rep(2, 3), n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.testBinomial.delta0", {
testthat::expect_error(gsDesign::testBinomial(
delta0 = "abc", x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::testBinomial(
delta0 = c(-1), x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::testBinomial(
delta0 = 1, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::testBinomial(
delta0 = rep(0.1, 2), x1 = 2, x2 = 2,
n1 = rep(2, 3), n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.testBinomial.n1", {
testthat::expect_error(gsDesign::testBinomial(n1 = "abc", x1 = 2, x2 = 2, n2 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::testBinomial(n1 = 0, x1 = 0, x2 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
})
testthat::test_that("test.testBinomial.n2", {
testthat::expect_error(gsDesign::testBinomial(n2 = "abc", x1 = 2, x2 = 2, n1 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::testBinomial(n2 = 0, x1 = 2, x2 = 0, n1 = 2),
info = "Checking for out-of-range variable value"
)
})
testthat::test_that("test.testBinomial.scale", {
testthat::expect_error(gsDesign::testBinomial(
scale = 1, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::testBinomial(
scale = "abc", x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for out-of-range variable value")
testthat::expect_error(gsDesign::testBinomial(
scale = rep("RR", 2), x1 = 2, x2 = 2,
n1 = 2, n2 = 2
), info = "Checking for incorrect variable length")
})
testthat::test_that("test.testBinomial.tol", {
testthat::expect_error(gsDesign::testBinomial(
tol = "abc", x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for incorrect variable type")
testthat::expect_error(gsDesign::testBinomial(
tol = 0, x1 = 2, x2 = 2, n1 = 2,
n2 = 2
), info = "Checking for out-of-range variable value")
})
testthat::test_that("test.testBinomial.x1", {
testthat::expect_error(gsDesign::testBinomial(x1 = "abc", x2 = 2, n1 = 2, n2 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::testBinomial(x1 = 3, x2 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::testBinomial(x1 = c(-1), x2 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::testBinomial(x1 = rep(2, 2), x2 = 2, n1 = rep(
2,
3
), n2 = 2), info = "Checking for incorrect variable length")
})
testthat::test_that("test.testBinomial.x2", {
testthat::expect_error(gsDesign::testBinomial(x2 = "abc", x1 = 2, n1 = 2, n2 = 2),
info = "Checking for incorrect variable type"
)
testthat::expect_error(gsDesign::testBinomial(x2 = 3, x1 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::testBinomial(x2 = c(-1), x1 = 2, n1 = 2, n2 = 2),
info = "Checking for out-of-range variable value"
)
testthat::expect_error(gsDesign::testBinomial(x2 = rep(2, 2), x1 = 2, n1 = rep(
2,
3
), n2 = 2), info = "Checking for incorrect variable length")
})
testthat::test_that("test.ciBinomial.misc", {
testthat::expect_equal(as.numeric(gsDesign::ciBinomial(
x1 = 0, x2 = 0, n1 = 10,
n2 = 20, adj = 1, scale = "difference"
)), c(
-0.1658,
0.2843608
), info = "ciBinomial numeric check #1 failed (M&N example 4", tolerance = 0.0001)
testthat::expect_equal(as.numeric(gsDesign::ciBinomial(
x1 = 72, x2 = 20, n1 = 756,
n2 = 573, adj = 1, scale = "difference"
)), c(
0.0344,
0.0868
), info = "ciBinomial numeric check #2 failed", tolerance = 0.0001)
testthat::expect_equal(as.numeric(gsDesign::ciBinomial(
x1 = 10, x2 = 20, n1 = 10,
n2 = 20, adj = 1, scale = "rr"
)), c(0.7156205, 1.198696),
info = "ciBinomial numeric check #3 failed (M&N example 6", tolerance = 0.0001
)
})
testthat::test_that("test.ciBinomial.ORscale.Infinity", {
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 0, x2 = 4, n1 = 100,
n2 = 100
)$lower, -Inf, info = "ciBinomial infinity check #1 failed")
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 4, x2 = 0, n1 = 100,
n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #2 failed")
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 100, x2 = 96,
n1 = 100, n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #3 failed")
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 96, x2 = 100,
n1 = 100, n2 = 100
)$lower, -Inf, info = "ciBinomial infinity check #4 failed")
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 0, x2 = 0, n1 = 100,
n2 = 100
), data.frame(lower = -Inf, upper = Inf), info = "ciBinomial infinity check #5 failed")
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 100, x2 = 100,
n1 = 100, n2 = 100
), data.frame(lower = -Inf, upper = Inf),
info = "ciBinomial infinity check #6 failed"
)
})
testthat::test_that("test.ciBinomial.RRscale.Infinity", {
testthat::expect_equal(gsDesign::ciBinomial(
scale = "RR", x1 = 4, x2 = 0, n1 = 100,
n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #7 failed")
testthat::expect_equal(gsDesign::ciBinomial(
scale = "RR", x1 = 0, x2 = 0, n1 = 100,
n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #8 failed")
})
testthat::test_that("test.nBinomial.misc", {
testthat::expect_equal(gsDesign::nBinomial(
p1 = 0.4, p2 = 0.05, alpha = 0.05,
beta = 0.2, delta0 = 0.2, scale = "difference"
), 159.6876,
info = "nBinomial check #1 failed (F&M, bottom p 1451)", tolerance = 0.0001
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.1, p2 = 0.1, alpha = 0.05,
delta0 = -0.2, ratio = 2 / 3, scale = "difference", outtype = 2
)),
c(62.88, 41.92),
info = "nBinomial check #2 failed (F&M, Table 1)", tolerance = 0.0001
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.25, p2 = 0.05, delta0 = 0.1,
alpha = 0.05, ratio = 3 / 2, scale = "difference", outtype = 2
)),
c(173.2214, 259.8322),
info = "nBinomial check #3 failed (F&M, Table 1)", tolerance = 0.0001
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.25, p2 = 0.05, delta0 = log(2),
alpha = 0.05, ratio = 3 / 2, scale = "rr", outtype = 2
)),
c(133.9289, 200.8933),
info = "nBinomial check #4 failed (F&M, Table 1)", tolerance = 0.0001
)
testthat::expect_equal(gsDesign::nBinomial(p1 = 0.15, p2 = 0.1, beta = 0.2, scale = "or"),
1355.84,
info = "nBinomial check #5 failed (OR scale)"
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.15, p2 = 0.1, beta = 0.2,
delta0 = log(1.1), ratio = 3 / 2, scale = "or", outtype = 2
)),
c(900.57, 1350.85),
info = "nBinomial check #6 failed (OR scale)", tolerance = 0.0001
)
})
## these simulations are stochastic, hence must loosen the tolerance so will not invalidated
testthat::test_that("test.simBinomial.misc", {
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.4, p2 = 0.05,
delta0 = 0.2, n1 = 80, n2 = 80, nsim = 1e+05
)) / 1e+05,
0.813,
info = "simBinomial check #1 failed (F&M bottom p 1451)", tolerance = 0.01
)
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.1, p2 = 0.1,
delta0 = -0.2, n1 = 63, n2 = 42, nsim = 1e+05
)) / 1e+05,
0.916,
info = "simBinomial check #2 failed (F&M Table 1)", tolerance = 0.01
)
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.25, p2 = 0.05,
delta0 = 0.1, n1 = 173, n2 = 260, nsim = 1e+05
)) / 1e+05,
0.906,
info = "simBinomial check #3 failed (F&M Table 1)", tolerance = 0.01
)
testthat::expect_equal(sum(-stats::qnorm(0.025) < gsDesign::simBinomial(
p1 = 0.15, p2 = 0.1,
delta0 = log(1.1), n1 = 901, n2 = 1351, scale = "lnor",
nsim = 1e+05
)) / 1e+05, 0.79875, info = "simBinomial check #4 failed", tolerance = 0.01)
testthat::expect_equal(sum(-stats::qnorm(0.025) < gsDesign::simBinomial(
p1 = 0.15, p2 = 0.1,
delta0 = log(1.1), n1 = 901, n2 = 1351, scale = "or",
nsim = 1e+05
)) / 1e+05, 0.8056, info = "simBinomial check #5 failed", tolerance = 0.01)
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.25, p2 = 0.05,
delta0 = log(2), n1 = 134, n2 = 201, scale = "rr", nsim = 1e+05
)) / 1e+05,
0.9078,
info = "simBinomial check #6 failed (F&M Table 1)", tolerance = 0.01
)
})
testthat::test_that("test.testBinomial.numerics", {
testthat::expect_equal(gsDesign::testBinomial(
x1 = 0, x2 = 0, n1 = 10, n2 = 20,
adj = 1, scale = "difference", delta = c(-0.1658, 0.2843608)
),
c(1.959962, -1.959865),
info = "Error in testBinomial example 1 (M&N example 4)", tolerance = 0.0001
)
testthat::expect_equal(gsDesign::testBinomial(
x1 = 10, x2 = 20, n1 = 10, n2 = 20,
adj = 1, scale = "rr", delta = log(c(0.715615, 1.198703))
),
c(1.96, -1.96),
info = "Error in testBinomial example 2 (M&N example 6)", tolerance = 0.0001
)
testthat::expect_equal(gsDesign::testBinomial(
x1 = 53, x2 = 40, n1 = 100, n2 = 100,
scale = "LNOR", delta = c(-0.03152, 1.104)
), c(
1.964856,
-1.963414
), info = "Error in testBinomial example 3 (p 27, Lachin)", tolerance = 0.0001)
testthat::expect_equal(gsDesign::testBinomial(
x1 = 53, x2 = 40, n1 = 100, n2 = 100,
scale = "OR", delta = c(-0.03463, 1.085673)
), c(
1.965205,
-1.96461
), info = "Error in testBinomial example 4 (p 27, Lachin)", tolerance = 0.0001)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.