library(dplyr)
library(tidyr)
test_that("prefer_n argument", {
m <- "vector of integers greater than 1"
expect_error(breaks_integer(prefer_n = "a"), m)
expect_error(breaks_integer(prefer_n = -1), m)
expect_error(breaks_integer(prefer_n = 0), m)
expect_error(breaks_integer(prefer_n = 1:2), m)
expect_error(breaks_integer(prefer_n = 1.5), m)
expect_error(breaks_integer(prefer_n = Inf), m)
expect_error(breaks_integer(prefer_n = list()), m)
expect_error(breaks_integer(prefer_n = NA), m)
expect_error(breaks_integer(prefer_n = NULL), m)
})
test_that("extend argument", {
m <- "logical value TRUE or FALSE"
expect_error(breaks_integer(extend = "a"), m)
expect_error(breaks_integer(extend = 1), m)
expect_error(breaks_integer(extend = list()), m)
expect_error(breaks_integer(extend = NA), m)
expect_error(breaks_integer(extend = NULL), m)
expect_error(breaks_integer(extend = c(TRUE, FALSE)), m)
})
test_that("positive argument", {
m <- "logical value TRUE or FALSE"
expect_error(breaks_integer(positive = "a"), m)
expect_error(breaks_integer(positive = 1), m)
expect_error(breaks_integer(positive = list()), m)
expect_error(breaks_integer(positive = NA), m)
expect_error(breaks_integer(positive = NULL), m)
expect_error(breaks_integer(positive = c(TRUE, FALSE)), m)
})
bdat1 <- tibble(x0 = 1:10001) %>%
rowwise() %>%
mutate(x = list(1:x0),
b_int = list(breaks_integer(extend = FALSE, positive = TRUE)(x)),
b_int_ext = list(breaks_integer(extend = TRUE, positive = TRUE)(x))
)
bdat2 <- tibble(x0 = 2:10001) %>%
rowwise() %>%
mutate(x = list(2:x0),
b_int = list(breaks_integer(extend = FALSE, positive = TRUE)(x)),
b_int_ext = list(breaks_integer(extend = TRUE, positive = TRUE)(x))
)
bdat5 <- tibble(x0 = 5:10001) %>%
rowwise() %>%
mutate(x = list(5:x0),
b_int = list(breaks_integer(extend = FALSE, positive = TRUE)(x)),
b_int_ext = list(breaks_integer(extend = TRUE, positive = TRUE)(x))
)
bdat_neg <- tibble(x0 = -100:100) %>%
rowwise() %>%
mutate(x = list(-100:x0),
b_int = list(breaks_integer(extend = FALSE, positive = FALSE)(x)),
b_int_ext = list(breaks_integer(extend = TRUE, positive = FALSE)(x))
)
test_that("Breaks are equally spaced with extend = TRUE", {
expect_true(all(purrr::map_lgl(bdat1$b_int_ext[-1], ~n_distinct(diff(.)) == 1)))
expect_true(all(purrr::map_lgl(bdat2$b_int_ext[-1], ~n_distinct(diff(.)) == 1)))
expect_true(all(purrr::map_lgl(bdat5$b_int_ext[-1], ~n_distinct(diff(.)) == 1)))
expect_true(all(purrr::map_lgl(bdat_neg$b_int_ext[-1], ~n_distinct(diff(.)) == 1)))
})
test_that("Breaks are integers, and > 0 when positive = TRUE", {
expect_true(all(purrr::map_lgl(bdat1$b_int_ext, ~all(rlang::is_integerish(.)) && all(. > 0))))
expect_true(all(purrr::map_lgl(bdat2$b_int_ext, ~all(rlang::is_integerish(.)) && all(. > 0))))
expect_true(all(purrr::map_lgl(bdat5$b_int_ext, ~all(rlang::is_integerish(.)) && all(. > 0))))
expect_true(all(purrr::map_lgl(bdat1$b_int, ~all(rlang::is_integerish(.)) && all(. > 0))))
expect_true(all(purrr::map_lgl(bdat2$b_int, ~all(rlang::is_integerish(.)) && all(. > 0))))
expect_true(all(purrr::map_lgl(bdat5$b_int, ~all(rlang::is_integerish(.)) && all(. > 0))))
expect_true(all(purrr::map_lgl(bdat_neg$b_int, ~all(rlang::is_integerish(.)))))
expect_true(all(purrr::map_lgl(bdat_neg$b_int_ext, ~all(rlang::is_integerish(.)))))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.