test_that("cvar_minimize returns weights summing to 1", { set.seed(3) rets <- matrix(rnorm(1500), ncol = 6) res <- cvar_minimize(rets, alpha = 0.95) expect_equal(sum(res$weights), 1, tolerance = 1e-6) expect_true(is.finite(res$cvar)) }) test_that("risk_parity_weights returns equal risk contributions", { set.seed(4) rets <- matrix(rnorm(1000), ncol = 5) Sigma <- cov(rets) res <- risk_parity_weights(Sigma) w <- res$weights rc <- w * as.numeric(Sigma %*% w) expect_true(max(rc) - min(rc) < 1e-4) }) test_that("var_cvar returns expected columns", { set.seed(5) rets <- matrix(rnorm(800), ncol = 4) out <- var_cvar(rets, alpha = 0.95) expect_true(all(c("asset", "VaR", "CVaR") %in% colnames(out))) })