test_that("Special values yield NAs", { pal <- seq_gradient_pal() expect_equal(pal(NA), NA_character_) expect_equal(pal(NaN), NA_character_) expect_equal(pal(Inf), NA_character_) expect_equal(pal(-Inf), NA_character_) }) test_that("can make ramp with single color", { expect_equal(colour_ramp("black")(0.5), "black") expect_equal(colour_ramp("black", na.color = "red")(NA), "red") }) test_that("Fully opaque colors are returned without alpha", { expect_equal( colour_ramp(c("#1234AB", "#BA4321"))(0:1), c("#1234AB", "#BA4321") ) }) test_that("Partially transparent colors are returned with alpha", { expect_equal( colour_ramp(c("#1234AB20", "#BA43218F"))(0:1), c("#1234AB20", "#BA43218F") ) }) test_that("Partially transparent colors are returned without alpha when `alpha = FALSE`", { expect_equal( colour_ramp(c("#1234AB20", "#BA43218F"), alpha = FALSE)(0:1), c("#1234AB", "#BA4321") ) }) test_that("Interpolation works from color without to color with alpha channel", { expect_identical( colour_ramp(c("#1234AB", "#1234AB00"))(0.5), "#1234AB80" ) })