diff --git a/R/importance_sampling.R b/R/importance_sampling.R index 80ec5c8a..f8dfd4d3 100644 --- a/R/importance_sampling.R +++ b/R/importance_sampling.R @@ -114,7 +114,7 @@ assert_importance_sampling_method_is_implemented <- function(x){ stop("Importance sampling method '", x, "' is not implemented. Implemented methods: '", - paste0(implemented_is_methods, collapse = "', '"), + paste0(implemented_is_methods(), collapse = "', '"), "'") } } diff --git a/tests/testthat/test_tisis.R b/tests/testthat/test_tisis.R index 44fcc12d..8b3a054a 100644 --- a/tests/testthat/test_tisis.R +++ b/tests/testthat/test_tisis.R @@ -224,3 +224,16 @@ test_that("tis_loo and sis_loo are returned", { expect_output(print(loo_tis), regexp = "tis_loo") expect_output(print(loo_sis), regexp = "sis_loo") }) + +test_that("invalid IS method gives informative error listing valid methods", { + LLmat <- example_loglik_matrix() + expect_error( + loo(LLmat, r_eff = NA, is_method = "bad_method"), + "'arg' should be one of" + ) + expect_error( + importance_sampling(-LLmat, method = "not_a_method", r_eff = NA), + "Implemented methods: 'psis', 'tis', 'sis'", + fixed = TRUE + ) +})