test_that("SI returns a data.frame with correct columns and lengths", { set.seed(1) data <- as.ts(rnorm(12, 100, 10)) sl <- 4 result <- SI(data, sl) expect_s3_class(result, "data.frame") expect_named(result, c("Season", "Seasonal_Index")) expect_equal(nrow(result), sl) expect_true(all(result$Seasonal_Index > 0)) })