Skip to content

Commit 23d30fb

Browse files
Merge pull request #108 from katilingban:dev
create tests for paleta_create_brewer functions; fix #105
2 parents 8eb1b0a + a411dac commit 23d30fb

File tree

4 files changed

+77
-16
lines changed

4 files changed

+77
-16
lines changed

R/paleta_brewer.R

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,18 @@
1919
#'
2020
#' @examples
2121
#' paleta_create_sequential(n = 5, org = "acdc", name = "blues")
22+
#' paleta_create_divergent(n = 5, org = "acdc", name = "rdylgn")
2223
#'
2324
#' @rdname create_paleta
2425
#' @export
2526
#'
2627

27-
paleta_create_sequential <- function(n, org, name) {
28+
paleta_create_sequential <- function(n,
29+
org = c("acdc", "nhs"),
30+
name) {
31+
## Get org ----
32+
org <- match.arg(org)
33+
2834
## Check if specified palette is found in specified org palette ----
2935
paleta_check_colour(name = name, org = org)
3036

@@ -34,17 +40,21 @@ paleta_create_sequential <- function(n, org, name) {
3440
## Check if number of colours is compatible with sequential ----
3541
if (n < 3) {
3642
cli::cli_bullets(
37-
"!" = "Sequential palettes have minimum 3 colours",
38-
"i" = "Returning 3 colours"
43+
c(
44+
"!" = "Sequential palettes have minimum 3 colours",
45+
"i" = "Returning 3 colours"
46+
)
3947
)
4048

4149
n <- 3
4250
}
4351

4452
if (n > 9) {
4553
cli::cli_bullets(
46-
"!" = "Sequential palettes have maximum 9 colours",
47-
"i" = "Returning 9 colours"
54+
c(
55+
"!" = "Sequential palettes have maximum 9 colours",
56+
"i" = "Returning 9 colours"
57+
)
4858
)
4959

5060
n <- 9
@@ -56,6 +66,15 @@ paleta_create_sequential <- function(n, org, name) {
5666
## Update palette to n ----
5767
pal <- grDevices::colorRampPalette(pal)(n)
5868

69+
cli::cli_bullets(
70+
c(
71+
c(
72+
"v" = "Sequential colour palette successfully created",
73+
"i" = "Sequential palette: {pal}"
74+
)
75+
)
76+
)
77+
5978
## Create palette class ----
6079
class(pal) <- "palette"
6180

@@ -78,17 +97,21 @@ paleta_create_divergent <- function(n, name, org) {
7897
## Check if number of colours is compatible with divergent ----
7998
if (n < 3) {
8099
cli::cli_bullets(
81-
"!" = "Divergent palettes have minimum 3 colours",
82-
"i" = "Returning 3 colours"
100+
c(
101+
"!" = "Divergent palettes have minimum 3 colours",
102+
"i" = "Returning 3 colours"
103+
)
83104
)
84105

85106
n <- 3
86107
}
87108

88109
if (n > 11) {
89110
cli::cli_bullets(
90-
"!" = "Divergent palettes have maximum 11 colours",
91-
"i" = "Returning 11 colours"
111+
c(
112+
"!" = "Divergent palettes have maximum 11 colours",
113+
"i" = "Returning 11 colours"
114+
)
92115
)
93116

94117
n <- 11
@@ -100,6 +123,13 @@ paleta_create_divergent <- function(n, name, org) {
100123
## Update palette to n ----
101124
pal <- grDevices::colorRampPalette(pal)(n)
102125

126+
cli::cli_bullets(
127+
c(
128+
"v" = "Divergent colour palette successfully created",
129+
"i" = "Divergent palette: {pal}"
130+
)
131+
)
132+
103133
## Create palette class ----
104134
class(pal) <- "palette"
105135

@@ -124,8 +154,10 @@ paleta_create_qualitative <- function(n, name, org) {
124154
## Check that n is not more than length(pal) ----
125155
if (n > length(pal)) {
126156
cli::cli_bullets(
127-
"!" = "{.code n = {n}} is greater than available colours in {name} palette",
128-
"i" = "Returning all colours in {name} colour palette"
157+
c(
158+
"!" = "{.code n = {n}} is greater than available colours in {name} palette",
159+
"i" = "Returning all colours in {name} colour palette"
160+
)
129161
)
130162

131163
n <- length(pal)
@@ -222,13 +254,9 @@ paleta_check_type <- function(name,
222254
cli::cli_abort(
223255
"{name} is not a {pal_type} colour palette"
224256
)
225-
226-
FALSE
227257
} else {
228258
cli::cli_alert_success(
229259
"{name} is a {pal_type} colour palette"
230260
)
231-
232-
TRUE
233261
}
234262
}

man/create_paleta.Rd

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkgdown/_pkgdown.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ reference:
6262
- title: Africa CDC
6363
contents:
6464
- acdc_palettes
65+
- acdc_brewer_palettes
6566
- acdc_fonts
6667
- acdc_green
6768
- acdc_red
@@ -127,6 +128,7 @@ reference:
127128
- title: NHS
128129
contents:
129130
- nhs_palettes
131+
- nhs_brewer_palettes
130132
- nhs_fonts
131133
- nhs_blue
132134
- nhs_white

tests/testthat/test-paleta_brewer.R

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Tests for paleta_create functions --------------------------------------------
2+
3+
test_that("paleta_create functions work as expected", {
4+
expect_vector(
5+
paleta_create_sequential(n = 5, org = "acdc", name = "blues"),
6+
size = 5
7+
)
8+
expect_vector(
9+
paleta_create_divergent(n = 5, org = "acdc", name = "rdylgn"),
10+
size = 5
11+
)
12+
expect_vector(
13+
paleta_create_qualitative(n = 5, "pastel1", "acdc"),
14+
size = 5
15+
)
16+
expect_message(paleta_create_sequential(n = 2, org = "acdc", name = "blues"))
17+
expect_message(paleta_create_sequential(n = 10, org = "acdc", name = "blues"))
18+
expect_message(paleta_create_divergent(n = 2, org = "acdc", name = "rdylgn"))
19+
expect_message(paleta_create_divergent(n = 12, org = "acdc", name = "rdylgn"))
20+
expect_message(paleta_create_qualitative(n = 12, "pastel1", "acdc"))
21+
22+
expect_vector(
23+
paleta_create_brewer(n = 5, name = "blues", org = "nhs")
24+
)
25+
26+
expect_error(paleta_create_brewer(n = 5, name = "ylorbr", org = "nhs"))
27+
expect_error(
28+
paleta_create_brewer(n = 5, name = "blues", org = "nhs", type = "divergent")
29+
)
30+
})

0 commit comments

Comments
 (0)