context("Checking test_sensitivity_ln")
# Test for standard error condition
test_that("test_sensitivity_ln handles standard error validation", {
expect_error(
test_sensitivity_ln(
est_eff = 1.0,
std_err = 0, # Incorrect value that should trigger an error
n_obs = 100,
n_covariates = 5,
n_treat = 1,
alpha = 0.05,
tails = 2,
nu = 20,
to_return = "raw_output"
),
"Standard error needs to be greater than zero"
)
})
# Test for the number of observations relative to covariates condition
test_that("test_sensitivity_ln handles observation-to-covariates validation", {
expect_error(
test_sensitivity_ln(
est_eff = 1.0,
std_err = 0.1,
n_obs = 8, # Fewer than n_covariates + 3; should trigger an error
n_covariates = 5,
n_treat = 1,
alpha = 0.05,
tails = 2,
nu = 0,
to_return = "raw_output"
),
"Did not run! There are too few observations relative to\n the number of observations and covariates. Please specify a\n less complex model to use KonFound-It."
)
})
# Test for invalid sample size and treatment cases
test_that("test_sensitivity_ln handles non-positive integers for sample size and treatment group cases", {
# First case: Invalid sample size
expect_error(
test_sensitivity_ln(
est_eff = 0.5,
std_err = 0.2,
n_obs = 0, # Invalid sample size
n_covariates = 5,
n_treat = 1,
alpha = 0.05,
tails = 2,
nu = 0,
to_return = "raw_output"
),
"Did not run! There are too few observations relative to\n the number of observations and covariates. Please specify a\n less complex model to use KonFound-It."
)
# Second case: Invalid number of treatment cases
expect_error(
test_sensitivity_ln(
est_eff = 0.5,
std_err = 0.2,
n_obs = 100,
n_covariates = 5,
n_treat = 0, # Invalid number of treatment cases
alpha = 0.05,
tails = 2,
nu = 20,
to_return = "raw_output"
),
"Please enter positive integers for sample size\n and number of treatment group cases."
)
})
# Test input validation for n_obs and n_treat
test_that("test_sensitivity_ln handles invalid n_obs and n_treat inputs correctly", {
# Test for non-positive n_treat
expect_error(
test_sensitivity_ln(
est_eff = 0.5, std_err = 0.1, n_obs = 10, n_covariates = 3, n_treat = 0,
alpha = 0.05, tails = 2, nu = 1, to_return = "value",
model_object = lm(mpg ~ wt, data = mtcars), tested_variable = "wt"),
"Please enter positive integers for sample size\n and number of treatment group cases.",
fixed = TRUE
)
# Test for n_obs <= n_treat
expect_error(
test_sensitivity_ln(
est_eff = 0.5, std_err = 0.1, n_obs = 10, n_covariates = 3, n_treat = 50,
alpha = 0.05, tails = 2, nu = 1, to_return = "value",
model_object = lm(mpg ~ wt, data = mtcars), tested_variable = "wt"),
"The total sample size should be larger than\n the number of treatment group cases.",
fixed = TRUE
)
})
# Test for the calculation of thr_t based on est_eff
test_that("thr_t is calculated correctly for positive and negative est_eff", {
# Mock data setup
n_obs <- 100
n_covariates <- 5
alpha <- 0.05
tails <- 2
# Positive est_eff
est_eff_positive <- 0.1
expected_thr_t_positive <- stats::qt(1 - (alpha / tails), n_obs - n_covariates - 2)
expect_equal(expected_thr_t_positive, 1.985802, tolerance = .001)
# Negative est_eff
est_eff_negative <- -0.1
expected_thr_t_negative <- -stats::qt(1 - (alpha / tails), n_obs - n_covariates - 2)
expect_equal(expected_thr_t_negative, -1.985802, tolerance = .001)
})
# Test when the total sample size is not larger than the number of treatment group cases
test_that("test_sensitivity_ln checks that total sample size is larger than the number of treatment group cases", {
expect_error(
test_sensitivity_ln(
est_eff = 0.5,
std_err = 0.2,
n_obs = 5, # Sample size equal to the number of treatments
n_covariates = 3,
n_treat = 5,
alpha = 0.05,
tails = 2,
nu = 0,
to_return = "raw_output"
),
"Did not run! There are too few observations relative to\n the number of observations and covariates. Please specify a\n less complex model to use KonFound-It."
)
})
# Test input validation for n_obs and n_treat
test_that("test_sensitivity_ln handles invalid n_obs and n_treat inputs correctly", {
# Test for non-positive n_obs or n_treat
expect_error(
test_sensitivity_ln(
est_eff = 0.5, std_err = 0.1, n_obs = 0, n_covariates = 3, n_treat = 5,
alpha = 0.05, tails = 2, nu = 1, to_return = "value",
model_object = lm(mpg ~ wt, data = mtcars), tested_variable = "wt"),
"Did not run! There are too few observations relative to\n the number of observations and covariates. Please specify a\n less complex model to use KonFound-It."
)
expect_error(
test_sensitivity_ln(
est_eff = 0.5, std_err = 0.1, n_obs = 10, n_covariates = 3, n_treat = 0,
alpha = 0.05, tails = 2, nu = 1, to_return = "value",
model_object = lm(mpg ~ wt, data = mtcars), tested_variable = "wt"),
"Please enter positive integers for sample size\n and number of treatment group cases."
)
# Test for n_obs <= n_treat
expect_error(
test_sensitivity_ln(
est_eff = 0.5, std_err = 0.1, n_obs = 10, n_covariates = 3, n_treat = 15,
alpha = 0.05, tails = 2, nu = 1, to_return = "value",
model_object = lm(mpg ~ wt, data = mtcars), tested_variable = "wt"),
"The total sample size should be larger than\n the number of treatment group cases."
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.