Nothing
test_that("label_skip basic functionality works", {
# Test default parameters (n=2, start="left")
skip_labels <- label_skip()
expect_identical(skip_labels(1:10), c("1", "", "3", "", "5", "", "7", "", "9", ""))
# Test with different n values
skip_labels_3 <- label_skip(n = 3)
expect_identical(skip_labels_3(1:10), c("1", "", "", "4", "", "", "7", "", "", "10"))
# Test with n=1 (no skipping)
skip_labels_1 <- label_skip(n = 1)
expect_identical(skip_labels_1(1:5), as.character(1:5))
})
test_that("label_skip handles start parameter correctly", {
# Test with start="right"
skip_labels_right <- label_skip(n = 2, start = "right")
expect_identical(skip_labels_right(1:10), c("", "2", "", "4", "", "6", "", "8", "", "10"))
# Test with integer start position
skip_labels_pos2 <- label_skip(n = 3, start = 2)
expect_identical(skip_labels_pos2(1:10), c("", "2", "", "", "5", "", "", "8", "", ""))
# Test with integer start wrapping around n
skip_labels_pos5 <- label_skip(n = 3, start = 5)
expect_identical(skip_labels_pos5(1:10), c("", "2", "", "", "5", "", "", "8", "", ""))
})
test_that("label_skip handles NA values correctly", {
# Test with NA values in input
test_labels <- c(NA, 1, 2, 3, 4, 5, NA)
skip_labels <- label_skip(n = 2)
result <- skip_labels(test_labels)
expect_identical(result, c(NA, "1", "", "3", "", "5", NA))
})
test_that("label_skip works with custom labeller", {
# Test with a simple labeller function
add_prefix <- function(x) paste0("Value: ", x)
skip_with_prefix <- label_skip(n = 2, labeller = add_prefix)
expect_identical(
skip_with_prefix(1:5),
c("Value: 1", "", "Value: 3", "", "Value: 5"),
ignore_attr = TRUE
)
# Test with scales date labeller
test_dates <- as.Date(c("2023-01-01", "2023-02-01", "2023-03-01", "2023-04-01"))
date_labeller <- label_skip(n = 2, labeller = label_date("%b %Y"))
expect_identical(
date_labeller(test_dates),
c("Jan 2023", "", "Mar 2023", ""),
ignore_attr = TRUE
)
})
test_that("label_skip throws appropriate errors", {
# Test with invalid n
expect_error(label_skip(n = 0), "'n' must be a positive integer")
expect_error(label_skip(n = -1), "'n' must be a positive integer")
# Test with invalid start
expect_error(label_skip(start = TRUE), "'start' must be either 'left', 'right', or an integer")
# Test with invalid labeller
expect_error(label_skip(labeller = "not_a_function"), "not found")
})
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.