diff --git a/tests/testthat/test-cal-apply.R b/tests/testthat/test-cal-apply.R index ae071cd..36cbf20 100644 --- a/tests/testthat/test-cal-apply.R +++ b/tests/testthat/test-cal-apply.R @@ -8,6 +8,8 @@ test_that("Logistic apply works - data.frame", { }) test_that("Logistic apply works - tune_results", { + skip_if_not_installed("modeldata") + tct <- testthat_cal_binary() tl_logistic <- cal_estimate_logistic(tct, smooth = FALSE) tap_logistic <- cal_apply(tct, tl_logistic) @@ -27,6 +29,8 @@ test_that("Logistic spline apply works", { }) test_that("Logistic spline apply works - tune_results", { + skip_if_not_installed("modeldata") + tct <- testthat_cal_binary() tl_gam <- cal_estimate_logistic(tct) tap_gam <- cal_apply(tct, tl_gam) @@ -90,6 +94,8 @@ test_that("Isotonic apply works - data.frame", { }) test_that("Isotonic apply works - tune_results", { + skip_if_not_installed("modeldata") + tct <- testthat_cal_binary() tl_isotonic <- cal_estimate_isotonic(tct) tap_isotonic <- cal_apply(tct, tl_isotonic) @@ -107,6 +113,8 @@ test_that("Isotonic Bootstrapped apply works - data.frame", { }) test_that("Isotonic Bootstrapped apply works - tune_results", { + skip_if_not_installed("modeldata") + tct <- testthat_cal_binary() tl_boot <- cal_estimate_isotonic_boot(tct) tap_boot <- cal_apply(tct, tl_boot) @@ -119,6 +127,7 @@ test_that("Isotonic Bootstrapped apply works - tune_results", { # ------------------------------------------------------------------------------ test_that("Beta apply works - data.frame", { + skip_if_not_installed("betacal") sl_beta <- cal_estimate_beta(segment_logistic, Class) ap_beta <- cal_apply(segment_logistic, sl_beta) @@ -128,6 +137,9 @@ test_that("Beta apply works - data.frame", { }) test_that("Beta apply works - tune_results", { + skip_if_not_installed("betacal") + skip_if_not_installed("modeldata") + tct <- testthat_cal_binary() tl_beta <- cal_estimate_beta(tct) tap_beta <- cal_apply(tct, tl_beta) @@ -148,12 +160,16 @@ test_that("Passing the data frame first returns expected abort message", { }) test_that("Passing a tune_results without saved predictions causes error", { + skip_if_not_installed("betacal") + skip_if_not_installed("modeldata") + tct <- testthat_cal_binary() tl_beta <- cal_estimate_beta(tct) expect_error(cal_apply(tune::ames_grid_search, tl_beta)) }) test_that("Passing a calibration object as the first arg fails", { + skip_if_not_installed("betacal") sl_beta <- cal_estimate_beta(segment_logistic, Class) expect_error(cal_apply(sl_beta, segment_logistic)) }) diff --git a/tests/testthat/test-cal-estimate.R b/tests/testthat/test-cal-estimate.R index f34f7b1..c3febec 100644 --- a/tests/testthat/test-cal-estimate.R +++ b/tests/testthat/test-cal-estimate.R @@ -51,6 +51,8 @@ test_that("Logistic estimates work - data.frame", { }) test_that("Logistic estimates work - tune_results", { + skip_if_not_installed("modeldata") + tl_logistic <- cal_estimate_logistic(testthat_cal_binary(), smooth = FALSE) expect_cal_type(tl_logistic, "binary") expect_cal_method(tl_logistic, "Logistic regression") @@ -101,6 +103,8 @@ test_that("Logistic spline estimates work - data.frame", { }) test_that("Logistic spline estimates work - tune_results", { + skip_if_not_installed("modeldata") + tl_gam <- cal_estimate_logistic(testthat_cal_binary()) expect_cal_type(tl_gam, "binary") expect_cal_method(tl_gam, "Generalized additive model") @@ -154,6 +158,8 @@ test_that("Isotonic estimates work - data.frame", { }) test_that("Isotonic estimates work - tune_results", { + skip_if_not_installed("modeldata") + set.seed(100) tl_isotonic <- cal_estimate_isotonic(testthat_cal_binary()) expect_cal_type(tl_isotonic, "binary") @@ -250,6 +256,8 @@ test_that("Isotonic Bootstrapped estimates work - data.frame", { }) test_that("Isotonic Bootstrapped estimates work - tune_results", { + skip_if_not_installed("modeldata") + set.seed(100) tl_isotonic <- cal_estimate_isotonic_boot(testthat_cal_binary()) expect_cal_type(tl_isotonic, "binary") @@ -286,6 +294,7 @@ test_that("Isotonic Bootstrapped estimates errors - grouped_df", { # ----------------------------------- Beta ------------------------------------- test_that("Beta estimates work - data.frame", { + skip_if_not_installed("betacal") sl_beta <- cal_estimate_beta(segment_logistic, Class, smooth = FALSE) expect_cal_type(sl_beta, "binary") expect_cal_method(sl_beta, "Beta calibration") @@ -319,6 +328,9 @@ test_that("Beta estimates work - data.frame", { }) test_that("Beta estimates work - tune_results", { + skip_if_not_installed("betacal") + skip_if_not_installed("modeldata") + tl_beta <- cal_estimate_beta(testthat_cal_binary()) expect_cal_type(tl_beta, "binary") expect_cal_method(tl_beta, "Beta calibration") @@ -335,20 +347,21 @@ test_that("Beta estimates work - tune_results", { set.seed(100) suppressWarnings( - mtnl_isotonic <- cal_estimate_beta(testthat_cal_multiclass()) + mtnl_beta <- cal_estimate_beta(testthat_cal_multiclass()) ) - expect_cal_type(mtnl_isotonic, "one_vs_all") - expect_cal_method(mtnl_isotonic, "Beta calibration") - expect_snapshot(print(mtnl_isotonic)) - expect_true(are_groups_configs(mtnl_isotonic)) + expect_cal_type(mtnl_beta, "one_vs_all") + expect_cal_method(mtnl_beta, "Beta calibration") + expect_snapshot(print(mtnl_beta)) + expect_true(are_groups_configs(mtnl_beta)) expect_equal( testthat_cal_multiclass_count(), - nrow(cal_apply(testthat_cal_multiclass(), mtnl_isotonic)) + nrow(cal_apply(testthat_cal_multiclass(), mtnl_beta)) ) }) test_that("Beta estimates errors - grouped_df", { + skip_if_not_installed("betacal") expect_snapshot_error( cal_estimate_beta(dplyr::group_by(mtcars, vs)) ) @@ -356,6 +369,9 @@ test_that("Beta estimates errors - grouped_df", { # ------------------------------ Multinomial ----------------------------------- test_that("Multinomial estimates work - data.frame", { + skip_if_not_installed("modeldata") + skip_if_not_installed("nnet") + sp_multi <- cal_estimate_multinomial(species_probs, Species, smooth = FALSE) expect_cal_type(sp_multi, "multiclass") expect_cal_method(sp_multi, "Multinomial regression") @@ -390,6 +406,9 @@ test_that("Multinomial estimates work - data.frame", { }) test_that("Multinomial estimates work - tune_results", { + skip_if_not_installed("modeldata") + skip_if_not_installed("nnet") + tl_multi <- cal_estimate_multinomial(testthat_cal_multiclass(), smooth = FALSE) expect_cal_type(tl_multi, "multiclass") expect_cal_method(tl_multi, "Multinomial regression") @@ -421,6 +440,9 @@ test_that("Multinomial estimates work - tune_results", { }) test_that("Multinomial estimates errors - grouped_df", { + skip_if_not_installed("modeldata") + skip_if_not_installed("nnet") + expect_snapshot_error( cal_estimate_multinomial(dplyr::group_by(mtcars, vs)) ) diff --git a/tests/testthat/test-cal-plot.R b/tests/testthat/test-cal-plot.R index 185bc93..21a5b8d 100644 --- a/tests/testthat/test-cal-plot.R +++ b/tests/testthat/test-cal-plot.R @@ -72,6 +72,8 @@ test_that("Binary breaks functions work with group argument", { }) test_that("Multi-class breaks functions work", { + skip_if_not_installed("modeldata") + x10 <- .cal_table_breaks(species_probs, Species, dplyr::starts_with(".pred")) expect_equal( @@ -123,6 +125,8 @@ test_that("breaks plot function errors - grouped_df", { }) test_that("Binary logistic functions work", { + skip_if_not_installed("modeldata") + x20 <- .cal_table_logistic(segment_logistic, Class, .pred_good) model20 <- mgcv::gam(Class ~ s(.pred_good, k = 10), diff --git a/tests/testthat/test-cal-validate.R b/tests/testthat/test-cal-validate.R index 8c8382b..9d82cd8 100644 --- a/tests/testthat/test-cal-validate.R +++ b/tests/testthat/test-cal-validate.R @@ -1,4 +1,6 @@ test_that("Logistic validation with data frame input", { + skip_if_not_installed("rsample") + df <- testthat_cal_sampled() val_obj <- cal_validate_logistic(df, Class) val_with_pred <- cal_validate_logistic(df, Class, save_pred = TRUE, smooth = TRUE) @@ -59,6 +61,9 @@ test_that("Logistic validation with data frame input", { test_that("Beta validation with data frame input", { + skip_if_not_installed("betacal") + skip_if_not_installed("rsample") + df <- testthat_cal_sampled() val_obj <- cal_validate_beta(df, Class) val_with_pred <- cal_validate_beta(df, Class, save_pred = TRUE) @@ -87,6 +92,8 @@ test_that("Beta validation with data frame input", { test_that("Isotonic validation classification with data frame input", { + skip_if_not_installed("rsample") + df <- testthat_cal_sampled() val_obj <- cal_validate_isotonic(df, Class) val_with_pred <- cal_validate_isotonic(df, Class, save_pred = TRUE) @@ -114,6 +121,8 @@ test_that("Isotonic validation classification with data frame input", { }) test_that("Bootstrapped Isotonic classification validation with data frame input", { + skip_if_not_installed("rsample") + df <- testthat_cal_sampled() val_obj <- cal_validate_isotonic_boot(df, Class) val_with_pred <- cal_validate_isotonic_boot(df, Class, save_pred = TRUE) @@ -141,6 +150,9 @@ test_that("Bootstrapped Isotonic classification validation with data frame input }) test_that("Multinomial classification validation with data frame input", { + skip_if_not_installed("modeldata") + skip_if_not_installed("nnet") + df <- rsample::vfold_cv(testthat_cal_sim_multi()) val_obj <- cal_validate_multinomial(df, class) val_with_pred <- cal_validate_multinomial(df, class, save_pred = TRUE, smooth = TRUE) @@ -350,6 +362,7 @@ test_that("Bootstrapped isotonic classification validation with `fit_resamples`" }) test_that("Beta calibration validation with `fit_resamples`", { + skip_if_not_installed("betacal") res <- testthat_cal_fit_rs() val_obj <- cal_validate_beta(res$binary) val_with_pred <- cal_validate_beta(res$binary, save_pred = TRUE) @@ -382,6 +395,9 @@ test_that("Beta calibration validation with `fit_resamples`", { }) test_that("Multinomial calibration validation with `fit_resamples`", { + skip_if_not_installed("modeldata") + skip_if_not_installed("nnet") + res <- testthat_cal_fit_rs() val_obj <- cal_validate_multinomial(res$multin) val_with_pred <- cal_validate_multinomial(res$multin, save_pred = TRUE, smooth = TRUE) @@ -564,6 +580,10 @@ test_that("Isotonic bootstrapped regression validation with `fit_resamples`", { test_that("validation functions error with tune_results input", { + skip_if_not_installed("modeldata") + skip_if_not_installed("nnet") + skip_if_not_installed("beta") + expect_snapshot_error( cal_validate_beta(testthat_cal_binary()) )