Nothing
df1 <- unround(c(3.6, "5.20", 5.174)) %>%
suppressMessages()
test_that("The output is a tibble", {
df1 %>% expect_s3_class("tbl_df")
})
test_that("It has correct dimensions", {
df1 %>% dim() %>% expect_equal(c(3, 7))
})
colnames_expected <- c(
"range", "rounding", "lower", "incl_lower", "x", "incl_upper", "upper"
)
test_that("It has correct column names", {
df1 %>% colnames() %>% expect_setequal(colnames_expected)
})
test_that("Its columns have the correct types", {
df1[[1]] %>% expect_type("character")
df1[[2]] %>% expect_type("character")
df1[[3]] %>% expect_type("double")
df1[[4]] %>% expect_type("logical")
df1[[5]] %>% expect_type("character")
df1[[6]] %>% expect_type("logical")
df1[[7]] %>% expect_type("double")
})
test_that("A non-string `x` specification throws an error
(if `digits` is `NULL`; the default)", {
unround(4.5) %>% expect_error()
})
test_that("The function throws an error if `rounding` is misspecified", {
unround("4.50", rounding = "doesn't exist") %>% expect_error()
})
df2 <- unround("4.50", digits = 1)
df3 <- unround("4.50", digits = 1:5)
test_that("", {
df2$lower %>% expect_equal(4.45)
df2$upper %>% expect_equal(4.55)
})
test_that("", {
df3$lower %>% expect_equal(c(4.450000, 4.495000, 4.499500, 4.499950, 4.499995))
df3$upper %>% expect_equal(c(4.550000, 4.505000, 4.500500, 4.500050, 4.500005))
})
rbs_up_or_down <- rounding_bounds_scalar("up_or_down", 8.2, 0.05, 0.5)
rbs_up <- rounding_bounds_scalar("up" , 8.2, 0.05, 0.5)
rbs_down <- rounding_bounds_scalar("down" , 8.2, 0.05, 0.5)
rbs_even <- rounding_bounds_scalar("even" , 8.2, 0.05, 0.5)
rbs_ceiling <- rounding_bounds_scalar("ceiling" , 8.2, 0.05, 0.5)
rbs_floor <- rounding_bounds_scalar("floor" , 8.2, 0.05, 0.5)
rbs_trunc <- rounding_bounds_scalar("trunc" , 8.2, 0.05, 0.5)
rbs_anti_trunc <- rounding_bounds_scalar("anti_trunc", 8.2, 0.05, 0.05)
rbs_error <- rounding_bounds_scalar("doesn't exist", 6, 6, 6)
rbs_types_exp <- c("double", "double", "character", "character")
test_that("The list returned by `rounding_bounds_scalar()`
has correct types", {
rbs_up_or_down %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
rbs_up %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
rbs_down %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
rbs_even %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
rbs_ceiling %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
rbs_floor %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
rbs_trunc %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
rbs_anti_trunc %>% purrr::map_chr(typeof) %>% expect_equal(rbs_types_exp)
})
test_that("The list has correct values", {
rbs_up_or_down %>% expect_equal(list(8.15, 8.25, "<=", "<="))
rbs_up %>% expect_equal(list(8.15, 8.25, "<=", "<" ))
rbs_down %>% expect_equal(list(8.15, 8.25, "<" , "<="))
rbs_even %>% expect_equal(list(7.7 , 8.7 , "<" , "<" ))
rbs_ceiling %>% expect_equal(list(7.2 , 8.2 , "<" , "<="))
rbs_floor %>% expect_equal(list(8.2 , 9.2 , "<=", "<" ))
rbs_trunc %>% expect_equal(list(8.2 , 9.2 , "<=", "<" ))
rbs_anti_trunc %>% expect_equal(list(8.1 , 8.2 , "<=", "<"))
})
test_that("", {
rounding_bounds %>% expect_type("closure")
})
test_that("Wrong `rounding` specifications return the string (list)
that will trigger an error within `unround()", {
rbs_error %>% expect_setequal("error_trigger")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.