test_that("Test effective sample size", { S <- matrix(data = c(1, 1, 1, 0, 0, 1), nrow = 3, byrow = TRUE) # ----------- n <- 200 b1 <- stats::rpois(n = n, lambda = 3) b2 <- stats::rpois(n = n, lambda = 4) u <- stats::rnorm(n = n, mean = 30, sd = 1) B <- cbind(b1, b2) c <- matrix(S[1, ]) b <- (B %*% c) w <- .compute_weights(b, u, "samples", "continuous") check_w <- .check_weights(w, n_eff_min = 200) expect_equal(check_w$warning, TRUE) expect_equal(check_w$warning_code, 1) expect_equal(check_w$n_eff, n) # Try the warning message # base_forecast = list(u,b1,b2) # A = matrix(S[1,],nrow=1) # a = reconc_BUIS(A, base_forecast, in_type = "samples", distr = list("continuous","discrete","discrete"), seed=42) # ----------- n <- 199 b1 <- stats::rpois(n = n, lambda = 3) b2 <- stats::rpois(n = n, lambda = 4) u <- stats::rnorm(n = n, mean = 30, sd = 1) B <- cbind(b1, b2) c <- matrix(S[1, ]) b <- (B %*% c) w <- .compute_weights(b, u, "samples", "continuous") check_w <- .check_weights(w, n_eff_min = 200) expect_equal(check_w$warning, TRUE) expect_equal(check_w$warning_code, 1) expect_equal(check_w$n_eff, n) # Try the warning message # base_forecast = list(u,b1,b2) # A = matrix(S[1,],nrow=1) # a = bayesRecon::reconc_BUIS(A, base_forecast, in_type = "samples", distr = list("continuous","discrete","discrete"), seed=42) # ----------- n <- 2000 b1 <- stats::rpois(n = n, lambda = 3) b2 <- stats::rpois(n = n, lambda = 4) u <- stats::rnorm(n = n, mean = 18, sd = 1) B <- cbind(b1, b2) c <- matrix(S[1, ]) b <- (B %*% c) w <- .compute_weights(b, u, "samples", "continuous") check_w <- .check_weights(w, n_eff_min = 200, p_n_eff = 0.01) expect_equal(check_w$warning, TRUE) expect_equal(check_w$warning_code, c(2, 3)) expect_equal(check_w$n_eff < 200, TRUE) # Try the warning message # base_forecast = list(u,b1,b2) # A = matrix(S[1,],nrow=1) # a = bayesRecon::reconc_BUIS(A, base_forecast, in_type = "samples", distr = list("continuous","discrete","discrete"), seed=42) })