test_that("Critical values match Table 1 from paper", { # Test a few values from Table 1 (page 8) expect_equal(get_critical_value(30, 1, 1, "cs"), -5.72, tolerance = 0.1) expect_equal(get_critical_value(50, 1, 1, "c"), -5.08, tolerance = 0.1) expect_equal(get_critical_value(100, 1, 2, "cs"), -6.24, tolerance = 0.1) }) test_that("Critical values are monotonic in T", { # As T increases, critical values should become less negative cv_15 <- get_critical_value(15, 1, 1, "cs") cv_50 <- get_critical_value(50, 1, 1, "cs") cv_100 <- get_critical_value(100, 1, 1, "cs") expect_true(cv_15 < cv_50) expect_true(cv_50 < cv_100) }) test_that("Invalid inputs return NA with warning", { expect_warning(get_critical_value(50, 1, 1, "cs", alpha = 0.01)) expect_warning(cv <- get_critical_value(50, 5, 1, "cs")) expect_true(is.na(cv)) })