From d5d7f4536255f4958f7f0be4574431e49509f540 Mon Sep 17 00:00:00 2001 From: topepo Date: Wed, 4 Dec 2024 13:22:00 -0500 Subject: [PATCH 1/2] tests for tidymodels/parsnip#1224 --- tests/testthat/test-prediction-column-names.R | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tests/testthat/test-prediction-column-names.R diff --git a/tests/testthat/test-prediction-column-names.R b/tests/testthat/test-prediction-column-names.R new file mode 100644 index 0000000..4cb67a4 --- /dev/null +++ b/tests/testthat/test-prediction-column-names.R @@ -0,0 +1,50 @@ +suppressPackageStartupMessages(library(tidymodels)) +suppressPackageStartupMessages(library(censored)) + +skip_if_not_installed("parsnip", minimum_version = "1.1.0.9004") + +test_that("determine prediction column names for workflows", { + # complement to tidymodels/parsnip#1224 + + ### classification + lr_fit <- workflow(Class ~ ., logistic_reg()) %>% fit(data = two_class_dat) + expect_equal( + .get_prediction_column_names(lr_fit), + list(estimate = ".pred_class", + probabilities = c(".pred_Class1", ".pred_Class2")) + ) + expect_equal( + .get_prediction_column_names(lr_fit, syms = TRUE), + list(estimate = list(quote(.pred_class)), + probabilities = list(quote(.pred_Class1), quote(.pred_Class2))) + ) + + ### regression + ols_fit <- workflow(mpg ~ ., linear_reg()) %>% fit(data = mtcars) + expect_equal( + .get_prediction_column_names(ols_fit), + list(estimate = ".pred", + probabilities = character(0)) + ) + expect_equal( + .get_prediction_column_names(ols_fit, syms = TRUE), + list(estimate = list(quote(.pred)), + probabilities = list()) + ) +}) + +test_that("determine prediction column names for censored regression", { + # complement to tidymodels/parsnip#1224 + + surv_fit <- survival_reg() %>% fit(Surv(time, status) ~ ., data = lung) + expect_equal( + .get_prediction_column_names(surv_fit), + list(estimate = ".pred_time", + probabilities = c(".pred")) + ) + expect_equal( + .get_prediction_column_names(surv_fit, syms = TRUE), + list(estimate = list(quote(.pred_time)), + probabilities = list(quote(.pred))) + ) +}) From 3bd6db0615178d7ee199a51fc0d838c89d9f2ae0 Mon Sep 17 00:00:00 2001 From: topepo Date: Thu, 5 Dec 2024 00:44:14 -0500 Subject: [PATCH 2/2] skip for dev version --- tests/testthat/test-prediction-column-names.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/testthat/test-prediction-column-names.R b/tests/testthat/test-prediction-column-names.R index 4cb67a4..26bf1c6 100644 --- a/tests/testthat/test-prediction-column-names.R +++ b/tests/testthat/test-prediction-column-names.R @@ -4,6 +4,7 @@ suppressPackageStartupMessages(library(censored)) skip_if_not_installed("parsnip", minimum_version = "1.1.0.9004") test_that("determine prediction column names for workflows", { + skip_if_not_installed("parsnip", "1.2.1.9004") # complement to tidymodels/parsnip#1224 ### classification @@ -34,6 +35,7 @@ test_that("determine prediction column names for workflows", { }) test_that("determine prediction column names for censored regression", { + skip_if_not_installed("parsnip", "1.2.1.9004") # complement to tidymodels/parsnip#1224 surv_fit <- survival_reg() %>% fit(Surv(time, status) ~ ., data = lung)