library(testthat)
library(recipes)
ex_dat <- tibble(
cat = factor(rep(c("A", "B"), each = 5)),
numer = 1:10
)
test_that("add appropriate column with default settings", {
rec <- recipe(~., data = ex_dat) %>%
step_intercept()
rec_trained <- prep(rec, training = ex_dat, verbose = FALSE)
rec_trans <- bake(rec_trained, new_data = ex_dat)
exp_res <- tibble::add_column(ex_dat, "intercept" = 1L, .before = TRUE)
expect_identical(rec_trans, exp_res)
})
test_that("adds arbitrary numeric column", {
rec <- recipe(~., data = ex_dat) %>%
step_intercept(name = "(Intercept)", value = 2.5)
rec_trained <- prep(rec, training = ex_dat, verbose = FALSE)
rec_trans <- bake(rec_trained, new_data = ex_dat)
exp_res <- tibble::add_column(ex_dat, "(Intercept)" = 2.5, .before = TRUE)
expect_identical(rec_trans, exp_res)
})
test_that("deals with bad input", {
expect_snapshot(error = TRUE,
recipe(~., data = ex_dat) %>%
step_intercept(value = "Pie") %>%
prep()
)
expect_snapshot(error = TRUE,
recipe(~., data = ex_dat) %>%
step_intercept(name = 4) %>%
prep()
)
expect_snapshot(
recipe(~., data = ex_dat) %>%
step_intercept(all_predictors()) %>%
prep()
)
})
test_that("check_name() is used", {
dat <- mtcars
dat$intercept <- dat$mpg
rec <- recipe(~ ., data = dat) %>%
step_intercept()
expect_snapshot(
error = TRUE,
prep(rec, training = dat)
)
})
# Infrastructure ---------------------------------------------------------------
test_that("bake method errors when needed non-standard role columns are missing", {
# Here for completeness
# step_intercept() is special as it doesn't care about the incoming data
expect_true(TRUE)
})
test_that("empty printing", {
# Here for completeness
# step_intercept() is special as it can't be used without selection
expect_true(TRUE)
})
test_that("empty selection prep/bake is a no-op", {
# Here for completeness
# step_intercept() is special as it can't be used without selection
expect_true(TRUE)
})
test_that("empty selection tidy method works", {
# Here for completeness
# step_intercept() is special as it can't be used without selection
expect_true(TRUE)
})
test_that("printing", {
rec <- recipe(~., data = ex_dat) %>%
step_intercept()
expect_snapshot(print(rec))
expect_snapshot(prep(rec))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.