# These tests should pass on all supported versions of dplyr. Both pre and
# post dplyr 1.0.0 should work.
# When `compat-dplyr-old-parameters.R` is removed and support for dplyr < 1.0.0 is
# deprecated, these tests should move to `test-compat-dplyr-parameters.R` instead.
# Do not just delete them, as they are important tests and are not repeated in
# `test-compat-dplyr-parameters.R`.
suppressMessages(library(dplyr))
# ------------------------------------------------------------------------------
# mutate()
test_that("mutate() can keep parameters class", {
x <- parameters(list(penalty()))
expect_s3_class_parameters(mutate(x))
})
test_that("mutate() drops parameters class if any columns are added", {
x <- parameters(list(penalty()))
expect_s3_class_bare_tibble(mutate(x, x = 1))
})
# ------------------------------------------------------------------------------
# arrange()
test_that("arrange() keeps parameters class when row order is modified", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_parameters(arrange(x, name))
})
test_that("arrange() keeps parameters class when row order is untouched", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_parameters(arrange(x))
})
# ------------------------------------------------------------------------------
# filter()
test_that("filter() keeps parameters class when rows are modified", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_parameters(filter(x))
expect_s3_class_parameters(filter(x, 0 == 1))
expect_s3_class_parameters(filter(x, is.numeric(id)))
})
# ------------------------------------------------------------------------------
# rename()
test_that("renaming can keep the parameters class if nothing is renamed", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_parameters(rename(x))
expect_s3_class_parameters(rename(x, name = name))
})
test_that("renaming drops the parameters class if anything is renamed", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_bare_tibble(rename(x, foo = name))
})
# ------------------------------------------------------------------------------
# select()
test_that("select() can keep parameters class", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_parameters(select(x, everything()))
})
test_that("select() drops parameters class if any parameters columns aren't selected", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_bare_tibble(select(x, name))
})
# ------------------------------------------------------------------------------
# slice()
test_that("slice() generally keepy parameters class when rows are modified", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_parameters(slice(x, 0))
expect_s3_class_parameters(slice(x, seq_len(nrow(x))))
})
test_that("slice() drops parameters class when rows are duplicated", {
x <- parameters(list(penalty(), mixture()))
expect_s3_class_bare_tibble(slice(x, c(1, 1)))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.