From f002ad16691665c30a91c2988607b07cef6a7cbb Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Fri, 20 Dec 2024 12:01:33 -0800 Subject: [PATCH 1/2] - Update to testthat3 --- DESCRIPTION | 3 ++- R/plot-data.R | 2 +- R/residuals.R | 4 ++-- tests/testthat/test-mb-code.R | 4 ++-- tests/testthat/test-mb-null-analysis.R | 6 +++--- tests/testthat/test-new-expr-update.R | 18 +++++++++--------- tests/testthat/test-new-expr-vec.R | 18 +++++++++--------- tests/testthat/test-new-expr.R | 12 ++++++------ tests/testthat/test-plot-data.R | 14 -------------- tests/testthat/test-predict.R | 2 +- tests/testthat/test-residuals.R | 2 +- tests/testthat/test-zzz-analyse.R | 22 +++++++++++----------- 12 files changed, 47 insertions(+), 60 deletions(-) delete mode 100644 tests/testthat/test-plot-data.R diff --git a/DESCRIPTION b/DESCRIPTION index 3137b69a..3af2cb3b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -51,7 +51,7 @@ Suggests: cli, covr, jmbr, - testthat + testthat (>= 3.0.0) RdMacros: lifecycle Remotes: @@ -64,3 +64,4 @@ Remotes: Encoding: UTF-8 LazyData: true RoxygenNote: 7.3.2 +Config/testthat/edition: 3 diff --git a/R/plot-data.R b/R/plot-data.R index 0511e3b0..8e661c03 100644 --- a/R/plot-data.R +++ b/R/plot-data.R @@ -20,7 +20,7 @@ ggplot_data <- function(x, y, x_name, y_name) { height <- if (is.numeric(y)) 0 else 0.2 gp <- ggplot2::ggplot(data = data) + - ggplot2::aes_string(x = "x", y = "y") + + ggplot2::aes(x = "x", y = "y") + ggplot2::xlab(x_name) + ggplot2::ylab(y_name) + ggplot2::geom_jitter(alpha = 1 / 3, width = width, height = height) diff --git a/R/residuals.R b/R/residuals.R index 435e0585..0294cb27 100644 --- a/R/residuals.R +++ b/R/residuals.R @@ -28,7 +28,7 @@ plot_residuals <- function(x, ...) { ggplot_residuals_histogram <- function(data, name) { gp <- ggplot2::ggplot(data = data) + - ggplot2::aes_string(x = "residuals") + + ggplot2::aes(x = "residuals") + suppressWarnings(ggplot2::geom_histogram()) + ggplot2::expand_limits(x = 0) + ggplot2::xlab("residual") @@ -37,7 +37,7 @@ ggplot_residuals_histogram <- function(data, name) { ggplot_residuals <- function(data, name) { gp <- ggplot2::ggplot(data = data) + - ggplot2::aes_string(x = "x", y = "residuals") + + ggplot2::aes(x = "x", y = "residuals") + ggplot2::geom_hline(yintercept = 0) + ggplot2::expand_limits(y = 0) + ggplot2::xlab(name) + diff --git a/tests/testthat/test-mb-code.R b/tests/testthat/test-mb-code.R index fee880fe..2f8c8d22 100644 --- a/tests/testthat/test-mb-code.R +++ b/tests/testthat/test-mb-code.R @@ -1,7 +1,7 @@ test_that("mb_code", { expect_warning(mb_code("blah blah"), "template type is unrecognised") - expect_is(mb_code(.tmb_template), "tmb_code") - expect_is(mb_code("function() dpois()"), "lmb_code") + expect_s3_class(mb_code(.tmb_template), "tmb_code") + expect_s3_class(mb_code("function() dpois()"), "lmb_code") }) test_that("template", { diff --git a/tests/testthat/test-mb-null-analysis.R b/tests/testthat/test-mb-null-analysis.R index 7306aee6..3848e733 100644 --- a/tests/testthat/test-mb-null-analysis.R +++ b/tests/testthat/test-mb-null-analysis.R @@ -3,17 +3,17 @@ test_that("mb_null_analysis", { class(analysis) <- c("mb_null_analysis", "mb_analysis") coef <- coef(analysis) - expect_is(coef, "tbl") + expect_s3_class(coef, "tbl") expect_identical(colnames(coef), c("term", "estimate", "sd", "zscore", "lower", "upper", "pvalue")) expect_identical(nrow(coef), 0L) glance <- glance(analysis) - expect_is(glance, "tbl") + expect_s3_class(glance, "tbl") expect_identical(colnames(glance), c("n", "K", "logLik", "IC", "converged")) expect_identical(nrow(glance), 1L) tidy <- tidy(analysis) - expect_is(tidy, "tbl") + expect_s3_class(tidy, "tbl") expect_identical(colnames(tidy), c("term", "estimate", "lower", "upper")) expect_identical(nrow(tidy), 0L) diff --git a/tests/testthat/test-new-expr-update.R b/tests/testthat/test-new-expr-update.R index 8c86dcb6..14d55072 100644 --- a/tests/testthat/test-new-expr-update.R +++ b/tests/testthat/test-new-expr-update.R @@ -59,7 +59,7 @@ test_that("update new expr string expression", { residual <- res_lnorm(Density, fit, exp(log_sDensity)) }" ) - expect_warning(analysis <- analyse(model, data = data, glance = FALSE)) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) expect_identical(pars(analysis, "derived"), "eDensity") expect_identical(pars(analysis, "random"), "bSiteYear") @@ -143,11 +143,11 @@ test_that("update new expr bare expression", { residual <- res_lnorm(Density, fit, exp(log_sDensity)) } ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -223,11 +223,11 @@ test_that("add new_expr_vec argument to update model", { }", new_expr_vec = FALSE ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -296,11 +296,11 @@ test_that("add new_expr_vec argument to update model and updates original new_ex model, new_expr_vec = TRUE ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = TRUE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -369,11 +369,11 @@ test_that("cannot undo the vectorization if orignally set in the model", { model, new_expr_vec = FALSE ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", diff --git a/tests/testthat/test-new-expr-vec.R b/tests/testthat/test-new-expr-vec.R index f8ea2c55..1eca469d 100644 --- a/tests/testthat/test-new-expr-vec.R +++ b/tests/testthat/test-new-expr-vec.R @@ -50,11 +50,11 @@ test_that("vectorize predict string expression", { random_effects = list(bSiteYear = c("Site", "YearFactor")) ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = TRUE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -65,7 +65,7 @@ test_that("vectorize predict string expression", { ppc <- posterior_predictive_check(analysis) - expect_is(ppc, "tbl_df") + expect_s3_class(ppc, "tbl_df") expect_identical(colnames(ppc), c("moment", "observed", "median", "lower", "upper", "svalue")) expect_identical(ppc$moment, structure(1:5, .Label = c( "zeros", "mean", "variance", "skewness", @@ -130,11 +130,11 @@ test_that("vectorize predict bare expression", { random_effects = list(bSiteYear = c("Site", "YearFactor")) ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -145,7 +145,7 @@ test_that("vectorize predict bare expression", { ppc <- posterior_predictive_check(analysis) - expect_is(ppc, "tbl_df") + expect_s3_class(ppc, "tbl_df") expect_identical(colnames(ppc), c("moment", "observed", "median", "lower", "upper", "svalue")) expect_identical(ppc$moment, structure(1:5, .Label = c( "zeros", "mean", "variance", "skewness", @@ -213,11 +213,11 @@ test_that("two expressions wrapped even when new_expr_vec = TRUE", { random_effects = list(bSiteYear = c("Site", "YearFactor")) ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -228,7 +228,7 @@ test_that("two expressions wrapped even when new_expr_vec = TRUE", { ppc <- posterior_predictive_check(analysis) - expect_is(ppc, "tbl_df") + expect_s3_class(ppc, "tbl_df") expect_identical(colnames(ppc), c("moment", "observed", "median", "lower", "upper", "svalue")) expect_identical(ppc$moment, structure(1:5, .Label = c( "zeros", "mean", "variance", "skewness", diff --git a/tests/testthat/test-new-expr.R b/tests/testthat/test-new-expr.R index 2d4bb867..2ad0845b 100644 --- a/tests/testthat/test-new-expr.R +++ b/tests/testthat/test-new-expr.R @@ -50,11 +50,11 @@ test_that("predict string expression", { random_effects = list(bSiteYear = c("Site", "YearFactor")) ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -65,7 +65,7 @@ test_that("predict string expression", { ppc <- posterior_predictive_check(analysis) - expect_is(ppc, "tbl_df") + expect_s3_class(ppc, "tbl_df") expect_identical(colnames(ppc), c("moment", "observed", "median", "lower", "upper", "svalue")) expect_identical(ppc$moment, structure(1:5, .Label = c( "zeros", "mean", "variance", "skewness", @@ -130,11 +130,11 @@ test_that("predict bare expression", { random_effects = list(bSiteYear = c("Site", "YearFactor")) ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_warning(expect_warning(analysis <- analyse(model, data = data, glance = FALSE))) year <- predict(analysis, new_data = "Year") - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -145,7 +145,7 @@ test_that("predict bare expression", { ppc <- posterior_predictive_check(analysis) - expect_is(ppc, "tbl_df") + expect_s3_class(ppc, "tbl_df") expect_identical(colnames(ppc), c("moment", "observed", "median", "lower", "upper", "svalue")) expect_identical(ppc$moment, structure(1:5, .Label = c( "zeros", "mean", "variance", "skewness", diff --git a/tests/testthat/test-plot-data.R b/tests/testthat/test-plot-data.R deleted file mode 100644 index 4b022110..00000000 --- a/tests/testthat/test-plot-data.R +++ /dev/null @@ -1,14 +0,0 @@ -test_that("plot_data", { - data <- data.frame( - x = 1:10, y = rep(2, 10), y2 = c(1, 4, 6, 7, 9, 11, 2, 2, 1, 5), - str = paste0("txt", 1:10), factor = factor(10:1), - stringsAsFactors = FALSE - ) - - expect_warning( - x <- plot_data(data) - ) - - expect_identical(length(x), 6L) - expect_true(all(vapply(x, inherits, TRUE, what = "ggplot"))) -}) diff --git a/tests/testthat/test-predict.R b/tests/testthat/test-predict.R index 973584a2..6710db89 100644 --- a/tests/testthat/test-predict.R +++ b/tests/testthat/test-predict.R @@ -14,7 +14,7 @@ test_that("lmb", { # models <- as.models(models) # # analyses <- analyse(models, data = data, glance = FALSE, beep = FALSE) - # expect_is(analyses, "mb_analyses") + # expect_s3_class(analyses, "mb_analyses") # # feed <- predict(analyses, new_data = "feed") # expect_identical(as.character(feed$feed), levels(datasets::chickwts$feed)) diff --git a/tests/testthat/test-residuals.R b/tests/testthat/test-residuals.R index 88c4f85f..b5cdfc02 100644 --- a/tests/testthat/test-residuals.R +++ b/tests/testthat/test-residuals.R @@ -17,5 +17,5 @@ test_that("lmb", { # # plots <- plot_residuals(analysis) # expect_identical(names(plots), c("feed", "fit", "weight")) - # expect_is(plots[[1]], "ggplot") + # expect_s3_class(plots[[1]], "ggplot") }) diff --git a/tests/testthat/test-zzz-analyse.R b/tests/testthat/test-zzz-analyse.R index 8b11da4b..3bb86110 100644 --- a/tests/testthat/test-zzz-analyse.R +++ b/tests/testthat/test-zzz-analyse.R @@ -53,7 +53,7 @@ test_that("analyse", { new_expr = new_expr ) - expect_output(expect_warning(analysis <- analyse(model, data = data))) + expect_output(expect_warning(expect_warning(analysis <- analyse(model, data = data)))) expect_equal(as.data.frame(data_set(analysis)), data) data2 <- data_set(analysis, marginalize_random_effects = TRUE) @@ -93,10 +93,10 @@ test_that("analyse", { c("bHabitatQuality", "bIntercept", "bSiteYear", "bYear", "eDensity", "log_sDensity", "log_sSiteYear") ) - expect_is(as.mcmcr(analysis), "mcmcr") + expect_s3_class(as.mcmcr(analysis), "mcmcr") glance <- glance(analysis) - expect_is(glance, "tbl") + expect_s3_class(glance, "tbl") expect_identical(colnames(glance), c("n", "K", "nchains", "niters", "nthin", "ess", "rhat", "converged")) expect_identical(glance$n, 300L) expect_identical(glance$nthin, 1L) @@ -108,7 +108,7 @@ test_that("analyse", { coef <- coef(analysis, simplify = TRUE) - expect_is(coef, "tbl") + expect_s3_class(coef, "tbl") expect_identical(colnames(coef), c("term", "estimate", "lower", "upper", "svalue")) expect_identical(coef$term, as.term(c( @@ -127,13 +127,13 @@ test_that("analyse", { ppc <- posterior_predictive_check(analysis) - expect_is(ppc, "tbl_df") + expect_s3_class(ppc, "tbl_df") expect_identical(colnames(ppc), c("moment", "observed", "median", "lower", "upper", "svalue")) expect_identical(ppc$moment, structure(1:5, .Label = c( "zeros", "mean", "variance", "skewness", "kurtosis" ), class = "factor")) - expect_is(year, "tbl") + expect_s3_class(year, "tbl") expect_identical(colnames(year), c( "Site", "HabitatQuality", "Year", "Visit", "Density", "YearFactor", @@ -145,15 +145,15 @@ test_that("analyse", { dd <- mcmc_derive_data(analysis, new_data = c("Site", "Year"), ref_data = TRUE) expect_true(mcmcdata::is.mcmc_data(dd)) - expect_warning( + expect_warning(expect_warning(expect_warning( sensitivity <- sd_priors_by(analysis, by = 10, glance = FALSE), "incomplete adaptation" - ) + ))) analyses <- analyses(analysis, sensitivity) rhat2 <- rhat(analyses) - expect_is(rhat2, "list") + expect_type(rhat2, "list") expect_identical(names(rhat2), c("mcmcr1", "mcmcr2")) skip_if_not_installed("mcmcr", "0.6.1.9001") @@ -163,7 +163,7 @@ test_that("analyse", { "`rhat.mcmcrs\\(x, bound = TRUE\\)`" ) - expect_is(rhat2, "list") + expect_type(rhat2, "list") expect_identical(names(rhat2), c("mcmcr1", "mcmcr2", "bound")) lifecycle::expect_deprecated( @@ -171,7 +171,7 @@ test_that("analyse", { "`rhat.mcmcrs\\(x, bound = TRUE\\)`" ) - expect_is(glance, "tbl") + expect_s3_class(glance, "tbl") expect_identical(nrow(glance), 1L) expect_identical(colnames(glance), c("n", "K", "nchains", "niters", "rhat_1", "rhat_2", "rhat_all", "converged")) }) From a48d54f3cc5d246065806d698ef777a495a89252 Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Fri, 20 Dec 2024 12:10:57 -0800 Subject: [PATCH 2/2] add nicole as ctb --- DESCRIPTION | 2 ++ man/embr-package.Rd | 1 + 2 files changed, 3 insertions(+) diff --git a/DESCRIPTION b/DESCRIPTION index 3af2cb3b..7da20416 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -6,6 +6,8 @@ Authors@R: c( comment = c(ORCID = "0000-0002-7683-4592")), person("Kirill", "Müller", , "kirill@cynkra.com", role = "aut", comment = c(ORCID = "0000-0002-1416-3412")), + person("Nicole", "Hill", , "nicole@poissonconsulting.ca", role = "ctb", + comment = c(ORCID = "0000-0002-7623-2153")), person("Ayla", "Pearson", , "ayla@poissonconsulting.ca", role = "ctb", comment = c(ORCID = "0000-0001-7388-1222")), person("Nadine", "Hussein", , "nadine@poissonconsulting.ca", role = "ctb", diff --git a/man/embr-package.Rd b/man/embr-package.Rd index 957f79a7..52cda471 100644 --- a/man/embr-package.Rd +++ b/man/embr-package.Rd @@ -26,6 +26,7 @@ Authors: Other contributors: \itemize{ + \item Nicole Hill \email{nicole@poissonconsulting.ca} (\href{https://orcid.org/0000-0002-7623-2153}{ORCID}) [contributor] \item Ayla Pearson \email{ayla@poissonconsulting.ca} (\href{https://orcid.org/0000-0001-7388-1222}{ORCID}) [contributor] \item Nadine Hussein \email{nadine@poissonconsulting.ca} (\href{https://orcid.org/0000-0003-4470-8361}{ORCID}) [contributor] \item Poisson Consulting [copyright holder, funder]