Nothing
test_that("build_legend_data returns continuous legend for numeric data", {
pal_colours <- get_palette(c("blue", "red"))
result <- build_legend_data(
is_numeric = TRUE,
data_min = 0,
data_max = 10,
palette = c("blue", "red"),
pal_colours = pal_colours,
colour_col = "value",
label_col = "region",
fill_col = "new_col",
data = data.frame()
)
expect_equal(result$type, "continuous")
expect_equal(result$title, "value")
expect_equal(result$min, 0)
expect_equal(result$max, 10)
expect_true(length(result$colors) > 0)
})
test_that("build_legend_data returns discrete legend for categorical data", {
data <- data.frame(
region = c("a", "b", "c"),
colour = c("#FF0000", "#00FF00", "#0000FF"),
stringsAsFactors = FALSE
)
result <- build_legend_data(
is_numeric = FALSE,
data_min = NA,
data_max = NA,
palette = NULL,
pal_colours = NULL,
colour_col = "colour",
label_col = "region",
fill_col = "colour",
data = data
)
expect_equal(result$type, "discrete")
expect_equal(result$title, "region")
expect_equal(length(result$labels), 3)
expect_equal(length(result$colors), 3)
})
test_that("build_legend_data returns NULL when data_min equals data_max", {
result <- build_legend_data(
is_numeric = TRUE,
data_min = 5,
data_max = 5,
palette = NULL,
pal_colours = NULL,
colour_col = "value",
label_col = "region",
fill_col = "new_col",
data = data.frame()
)
expect_null(result)
})
test_that("build_continuous_legend works with named palette", {
pal_colours <- data.frame(
values = c(0, 5, 10),
norm = c(0, 0.5, 1),
orig = c("blue", "white", "red"),
stringsAsFactors = FALSE
)
result <- build_continuous_legend(
palette = c("blue" = 0, "white" = 5, "red" = 10),
pal_colours = pal_colours,
colour_col = "my_value",
data_min = 0,
data_max = 10
)
expect_equal(result$type, "continuous")
expect_equal(result$min, 0)
expect_equal(result$max, 10)
expect_true(!is.null(result$breakpoints))
})
test_that("build_continuous_legend works without named palette", {
pal_colours <- data.frame(
values = c(0, 0.5, 1),
norm = c(0, 0.5, 1),
orig = c("blue", "white", "red"),
stringsAsFactors = FALSE
)
result <- build_continuous_legend(
palette = c("blue", "white", "red"),
pal_colours = pal_colours,
colour_col = "my_value",
data_min = 0,
data_max = 100
)
expect_equal(result$type, "continuous")
expect_equal(result$min, 0)
expect_equal(result$max, 100)
expect_true(!is.null(result$values))
expect_equal(length(result$values), 10)
})
test_that("build_discrete_legend handles data.frame input", {
data <- data.frame(
region = c("frontal", "temporal", "parietal"),
colour = c("#FF0000", "#00FF00", "#0000FF"),
stringsAsFactors = FALSE
)
result <- build_discrete_legend(data, "colour", "region")
expect_equal(result$type, "discrete")
expect_equal(result$title, "region")
expect_equal(length(result$labels), 3)
})
test_that("build_discrete_legend handles many unique values", {
data <- data.frame(
region = paste0("r", 1:60),
colour = paste0("#", sprintf("%06X", 1:60)),
stringsAsFactors = FALSE
)
result <- build_discrete_legend(data, "colour", "region")
expect_null(result)
})
test_that("build_discrete_legend handles NA values", {
data <- data.frame(
region = c("a", "b", NA),
colour = c("#FF0000", "#00FF00", NA),
stringsAsFactors = FALSE
)
result <- build_discrete_legend(data, "colour", "region")
expect_equal(result$type, "discrete")
expect_true(all(!is.na(result$colors)))
})
test_that("build_discrete_legend handles tibble input", {
data <- dplyr::tibble(
region = c("a", "b"),
colour = c("#FF0000", "#00FF00")
)
result <- build_discrete_legend(data, "colour", "region")
expect_equal(result$type, "discrete")
expect_equal(length(result$labels), 2)
})
test_that("build_discrete_legend handles non-dataframe input", {
data <- matrix(
c("a", "b", "#FF0000", "#00FF00"),
ncol = 2,
dimnames = list(NULL, c("region", "colour"))
)
result <- build_discrete_legend(data, "colour", "region")
expect_equal(result$type, "discrete")
expect_equal(length(result$labels), 2)
})
test_that("build_discrete_legend removes duplicate labels", {
data <- data.frame(
region = c("a", "a", "b"),
colour = c("#FF0000", "#FF0000", "#00FF00"),
stringsAsFactors = FALSE
)
result <- build_discrete_legend(data, "colour", "region")
expect_equal(length(result$labels), 2)
})
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.