test_that("slim rejects n=1", { x <- matrix(rnorm(4), nrow = 1, ncol = 4) y <- 1.0 expect_error( slim(x, y, method = "lasso", verbose = FALSE), "At least two" ) }) test_that("slim rejects invalid method", { set.seed(201) x <- matrix(rnorm(60), nrow = 15, ncol = 4) y <- rnorm(15) expect_error( slim(x, y, method = "ridge", verbose = FALSE), "method" ) }) test_that("slim rejects q out of range", { set.seed(202) x <- matrix(rnorm(60), nrow = 15, ncol = 4) y <- rnorm(15) expect_error( slim(x, y, method = "lq", q = 0.5, verbose = FALSE), "q must be in" ) expect_error( slim(x, y, method = "lq", q = 3, verbose = FALSE), "q must be in" ) }) test_that("slim rejects X/Y row mismatch", { set.seed(203) x <- matrix(rnorm(60), nrow = 15, ncol = 4) y <- rnorm(10) expect_error( slim(x, y, method = "lasso", verbose = FALSE), "same number of rows" ) })