## Unit tests for lfast() function test_that("lfast produces correct length and bounded output", { set.seed(123) # for reproducibility x <- lfast( n = 256, mean = 4.5, sd = 1.0, lowerbound = 1, upperbound = 7, items = 5 ) # Check the length of the output expect_length(x, 256) # Check if the values are within the specified bounds expect_true(all(x >= 1 & x <= 7)) # Check if moments are within tolerance bounds expect_true(abs(mean(x) - 4.5) < 0.1) expect_true(abs(sd(x) - 1.0) < 0.1) }) test_that("lfast runs silently with valid inputs", { set.seed(123) expect_no_warning(lfast( n = 64, mean = 4.5, sd = 1.0, lowerbound = 1, upperbound = 7, items = 5 )) }) test_that("lfast throws an error with invalid inputs", { expect_error( lfast( n = -1, mean = 4.5, sd = 1.0, lowerbound = 1, upperbound = 7, items = 5 ) ) })