tests/testthat/test-catColorPal.R

context("catColorPal")

test_that("returns a vector of colors with attributes levels and pal", {
  x <- as.factor(c("a", "b", "c", "a"))
  res <- catColorPal(x)
  expect_true(all(res == DEFAULT_CAT_COLORS[c(1,2,3,1)]))
  expect_equal(attr(res, "levels"), levels(x))
  expect_equal(attr(res, "pal"), structure(DEFAULT_CAT_COLORS[1:3], names = levels(x)))
})

test_that("accepts character vectors", {
  x <- c("a", "b", "c", "a")
  res <- catColorPal(x)
  expect_true(all(res == DEFAULT_CAT_COLORS[c(1,2,3,1)]))
  expect_equal(attr(res, "levels"), unique(x))
  expect_equal(attr(res, "pal"), structure(DEFAULT_CAT_COLORS[1:3], names = unique(x)))
})

test_that("accepts custom colors", {
  x <- as.factor(c("a", "b", "c", "a"))
  pal <- c("red", "green", "blue")
  res <- catColorPal(x, colors = pal)
  expect_true(all(res == pal[c(1,2,3,1)]))
  expect_equal(attr(res, "levels"), levels(x))
  expect_equal(attr(res, "pal"), structure(pal, names = levels(x)))
})

test_that("handles missing values", {
  x <- as.factor(c("a", "b", "c", "a", NA))
  res <- catColorPal(x)
  expect_true(all(res == c(DEFAULT_CAT_COLORS[c(1,2,3,1)], "#EEEEEE")))
})

test_that("can reset levels", {
  x <- as.factor(c("a", "b", "a", "c"))
  res <- catColorPal(x, levels = c("a", "b", "d"))
  expect_true(all(res == c(DEFAULT_CAT_COLORS[c(1,2,1)], "#EEEEEE")))
  expect_equal(attr(res, "levels"), c("a", "b", "d"))
  expect_equal(attr(res, "pal"), structure(DEFAULT_CAT_COLORS[1:3], names = c("a", "b", "d")))
})
rte-antares-rpackage/antaresViz documentation built on Oct. 18, 2023, 2:04 p.m.