test_that("works", {
x <- 1:5
case_x <- case(x < 3, 1,
x < 4, 2,
TRUE, 3)
expect_equal(case_x, c(1,1,2,3,3))
})
test_that("isn't tripped up by NA results v1", {
test_df <- tidytable(x = c(1, NA, 1, 2))
case_df <- test_df %>%
mutate(check = case(is.na(x), 1,
x < 2, 2,
default = 0))
expect_equal(case_df$check, c(2,1,2,0))
})
test_that("isn't tripped up by NA results v2", {
test_df <- tidytable(x = c(1, NA, 1, 2))
case_df <- test_df %>%
mutate(check = case(x < 2, 2,
is.na(x), 1,
default = 0))
expect_equal(case_df$check, c(2,1,2,0))
})
test_that("lower conditions don't overwrite prior conditions", {
x <- 1:10
new_x <- case(x < 5, 1,
x < 9, 2,
default = 3)
expect_equal(new_x, c(1,1,1,1,2,2,2,2,3,3))
})
test_that("multiple NAs can be used as inputs", {
x <- 1:10
new_x <- case(x < 3, 1,
x < 6, 2,
x < 10, NA,
default = NA)
expect_equal(new_x, c(1,1,2,2,2,NA,NA,NA,NA,NA))
})
test_that("works with vector default", {
x <- 1:5
case_x <- case(x < 3, 1,
x < 4, 2,
default = rep(3, 5))
expect_equal(case_x, c(1,1,2,3,3))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.