From 63bd59481510d22072f259f43da90216bab83518 Mon Sep 17 00:00:00 2001 From: Isaac Gravestock Date: Thu, 5 Sep 2024 10:41:07 +0200 Subject: [PATCH 1/3] namespace and warnings --- tests/testthat/test-brms_compare.R | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/testthat/test-brms_compare.R b/tests/testthat/test-brms_compare.R index 0ece4700..09839e94 100644 --- a/tests/testthat/test-brms_compare.R +++ b/tests/testthat/test-brms_compare.R @@ -111,13 +111,13 @@ test_that("jmpost and brms get similar loo for longitudinal models", { ), data = dat, prior = c( - prior("normal(log(60), 0.6)", nlpar = "b"), - prior("normal(log(0.5), 0.6)", nlpar = "s"), - prior("normal(log(0.2), 0.6)", nlpar = "g"), - prior("lognormal(log(0.1), 0.6)", nlpar = "b", class = "sd"), - prior("lognormal(log(0.1), 0.6)", nlpar = "s", class = "sd"), - prior("lognormal(log(0.1), 0.6)", nlpar = "g", class = "sd"), - prior("lognormal(log(1.5), 0.6)", class = "sigma") + brms::prior("normal(log(60), 0.6)", nlpar = "b"), + brms::prior("normal(log(0.5), 0.6)", nlpar = "s"), + brms::prior("normal(log(0.2), 0.6)", nlpar = "g"), + brms::prior("lognormal(log(0.1), 0.6)", nlpar = "b", class = "sd"), + brms::prior("lognormal(log(0.1), 0.6)", nlpar = "s", class = "sd"), + brms::prior("lognormal(log(0.1), 0.6)", nlpar = "g", class = "sd"), + brms::prior("lognormal(log(1.5), 0.6)", class = "sigma") ), warmup = 1400, iter = 2600, @@ -130,8 +130,8 @@ test_that("jmpost and brms get similar loo for longitudinal models", { # # Assert that loo scores are similar # - b_est <- brms::loo(mp_brms) - j_est <- stanmod$loo() + expect_warning(b_est <- brms::loo(mp_brms), "moment match") + expect_warning(j_est <- stanmod$loo(), "Pareto k diagnostic") z_score <- abs(b_est$estimates[, "Estimate"] - j_est$estimates[, "Estimate"]) / b_est$estimates[, "SE"] expect_true(all(z_score < qnorm(0.99))) From 1af2c35c8129b65b7dff19c5f1f47b62006b4a5a Mon Sep 17 00:00:00 2001 From: Isaac Gravestock Date: Tue, 17 Sep 2024 10:19:22 +0200 Subject: [PATCH 2/3] muffle warnings --- tests/testthat/test-brms_compare.R | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/tests/testthat/test-brms_compare.R b/tests/testthat/test-brms_compare.R index 09839e94..de42eba8 100644 --- a/tests/testthat/test-brms_compare.R +++ b/tests/testthat/test-brms_compare.R @@ -130,8 +130,23 @@ test_that("jmpost and brms get similar loo for longitudinal models", { # # Assert that loo scores are similar # - expect_warning(b_est <- brms::loo(mp_brms), "moment match") - expect_warning(j_est <- stanmod$loo(), "Pareto k diagnostic") + withCallingHandlers( + b_est <- brms::loo(mp_brms), + warning = function(w) { + if (grepl("moment match", as.character(w))) { invokeRestart("muffleWarning") } + # Else re-raise + warning(w) + } + ) + + withCallingHandlers( + j_est <- stanmod$loo(), + warning = function(w) { + if (grepl("Pareto k diagnostic", as.character(w))) { invokeRestart("muffleWarning") } + # Else re-raise + warning(w) + } + ) z_score <- abs(b_est$estimates[, "Estimate"] - j_est$estimates[, "Estimate"]) / b_est$estimates[, "SE"] expect_true(all(z_score < qnorm(0.99))) From 3b72e73e2182d33a22736b9e9ca833e95ed643b7 Mon Sep 17 00:00:00 2001 From: Isaac Gravestock Date: Tue, 17 Sep 2024 11:19:29 +0200 Subject: [PATCH 3/3] just one warning + lintr --- tests/testthat/test-brms_compare.R | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tests/testthat/test-brms_compare.R b/tests/testthat/test-brms_compare.R index de42eba8..41f87220 100644 --- a/tests/testthat/test-brms_compare.R +++ b/tests/testthat/test-brms_compare.R @@ -133,18 +133,14 @@ test_that("jmpost and brms get similar loo for longitudinal models", { withCallingHandlers( b_est <- brms::loo(mp_brms), warning = function(w) { - if (grepl("moment match", as.character(w))) { invokeRestart("muffleWarning") } - # Else re-raise - warning(w) + if (grepl("moment match", as.character(w))) invokeRestart("muffleWarning") else w } ) withCallingHandlers( j_est <- stanmod$loo(), warning = function(w) { - if (grepl("Pareto k diagnostic", as.character(w))) { invokeRestart("muffleWarning") } - # Else re-raise - warning(w) + if (grepl("Pareto k diagnostic", as.character(w))) invokeRestart("muffleWarning") else w } )