Skip to content

Commit 5c98619

Browse files
committed
add save_ouputs
1 parent 11522c2 commit 5c98619

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

tests/testthat/test-ggplot-ticks.R

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ PlantGrowth$type <-
44
ifelse(PlantGrowth$group=="ctrl", "control", "treatment")
55
boxes <- ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot()
66

7-
expect_traces <- function(gg, n.traces){
7+
expect_traces <- function(gg, n.traces, name){
88
stopifnot(is.ggplot(gg))
99
stopifnot(is.numeric(n.traces))
10+
save_outputs(gg, paste0("ticks-", name))
1011
L <- gg2list(gg)
1112
is.trace <- names(L) == ""
1213
all.traces <- L[is.trace]
@@ -22,7 +23,7 @@ plant.list <- split(PlantGrowth, PlantGrowth$group)
2223
weight.range <- range(PlantGrowth$weight)
2324

2425
test_that("boxes without coord_flip()", {
25-
info <- expect_traces(boxes, 3)
26+
info <- expect_traces(boxes, 3, "boxes")
2627
for(tr in info$traces){
2728
expect_true(is.null(tr[["x"]]))
2829
expected <- plant.list[[tr$name]]$weight
@@ -33,7 +34,7 @@ test_that("boxes without coord_flip()", {
3334

3435
test_that("boxes with facet_grid", {
3536
facets <- boxes + facet_grid(. ~ type)
36-
info <- expect_traces(facets, 3)
37+
info <- expect_traces(facets, 3, "boxes-facet-grid")
3738
## TODO: expect boxes of equal size.
3839

3940
## TODO: expect empty space.
@@ -47,7 +48,7 @@ test_that("boxes with facet_grid", {
4748

4849
test_that('boxes with facet_grid(scales="free")', {
4950
facets.scales <- boxes + facet_grid(. ~ type, scales="free")
50-
info <- expect_traces(facets.scales, 3)
51+
info <- expect_traces(facets.scales, 3, "boxes-scales-free")
5152
## TODO: expect boxes of unequal size.
5253

5354
## TODO: expect no empty space.
@@ -61,7 +62,7 @@ test_that('boxes with facet_grid(scales="free")', {
6162

6263
test_that('boxes with facet_grid(scales="free", space="free")', {
6364
facets.space <- boxes + facet_grid(. ~ type, scales="free", space="free")
64-
info <- expect_traces(facets.space, 3)
65+
info <- expect_traces(facets.space, 3, "boxes-space-free")
6566
## TODO: expect boxes of equal size.
6667

6768
## TODO: expect no empty space.
@@ -76,7 +77,7 @@ test_that('boxes with facet_grid(scales="free", space="free")', {
7677
flipped <- boxes + coord_flip()
7778

7879
test_that("boxes with coord_flip()", {
79-
info <- expect_traces(flipped, 3)
80+
info <- expect_traces(flipped, 3, "flip")
8081
for(tr in info$traces){
8182
expect_true(is.null(tr[["y"]]))
8283
expected <- plant.list[[tr$name]]$weight
@@ -126,23 +127,23 @@ test_that('boxes+facet_grid(scales="free", space="free")+coord_flip()', {
126127
test_that("Manually set the order of a discrete-valued axis", {
127128
expected.order <- c("trt1", "ctrl", "trt2")
128129
boxes.limits <- boxes + scale_x_discrete(limits=expected.order)
129-
info <- expect_traces(boxes.limits, 3)
130+
info <- expect_traces(boxes.limits, 3, "discrete-order")
130131
computed.order <- sapply(info$traces, "[[", "name")
131132
expect_identical(as.character(computed.order), expected.order)
132133
})
133134

134135
test_that("limits can hide data", {
135136
expected.order <- c("trt1", "ctrl")
136137
boxes.limits <- boxes + scale_x_discrete(limits=expected.order)
137-
info <- expect_traces(boxes.limits, 2)
138+
info <- expect_traces(boxes.limits, 2, "limits-hide")
138139
computed.order <- sapply(info$traces, "[[", "name")
139140
expect_identical(as.character(computed.order), expected.order)
140141
})
141142

142143
test_that("limits can create a gap", {
143144
expected.order <- c("trt1", "trt2", "GAP", "ctrl")
144145
boxes.limits <- boxes + scale_x_discrete(limits=expected.order)
145-
info <- expect_traces(boxes.limits, 3)
146+
info <- expect_traces(boxes.limits, 3, "limits-gap")
146147
computed.order <- sapply(info$traces, "[[", "name")
147148
##expect_identical(as.character(computed.order), expected.order)
148149

@@ -153,7 +154,7 @@ boxes.breaks <- boxes +
153154
scale_x_discrete(breaks=c("trt1", "ctrl", "trt2"))
154155

155156
test_that("setting breaks does not change order", {
156-
info <- expect_traces(boxes.breaks, 3)
157+
info <- expect_traces(boxes.breaks, 3, "breaks-nochange")
157158
computed.labels <- sapply(info$traces, "[[", "name")
158159
expect_identical(as.character(computed.labels), c("ctrl", "trt1", "trt2"))
159160
})
@@ -162,7 +163,7 @@ boxes.more <- boxes +
162163
scale_x_discrete(breaks=c("trt1", "ctrl", "trt2", "FOO"))
163164

164165
test_that("more breaks is fine", {
165-
info <- expect_traces(boxes.more, 3)
166+
info <- expect_traces(boxes.more, 3, "breaks-more")
166167
computed.labels <- sapply(info$traces, "[[", "name")
167168
expect_identical(as.character(computed.labels), c("ctrl", "trt1", "trt2"))
168169
})
@@ -171,7 +172,7 @@ boxes.less <- boxes +
171172
scale_x_discrete(breaks=c("trt1", "ctrl"))
172173

173174
test_that("less breaks is fine", {
174-
info <- expect_traces(boxes.less, 3)
175+
info <- expect_traces(boxes.less, 3, "breaks-less")
175176
computed.labels <- sapply(info$traces, "[[", "name")
176177
##expect_identical(as.character(computed.labels), c("ctrl", "trt1", "trt2"))
177178

@@ -183,7 +184,7 @@ boxes.labels <- boxes +
183184
labels=c("Treatment 1", "Control", "Treatment 2"))
184185

185186
test_that("scale(labels) changes trace names", {
186-
info <- expect_traces(boxes.labels, 3)
187+
info <- expect_traces(boxes.labels, 3, "scale-labels")
187188
computed.labels <- sapply(info$traces, "[[", "name")
188189
expect_identical(as.character(computed.labels),
189190
c("Control", "Treatment 1", "Treatment 2"))
@@ -192,7 +193,7 @@ test_that("scale(labels) changes trace names", {
192193
no.breaks <- boxes + scale_x_discrete(breaks=NULL)
193194

194195
test_that("hide x ticks, lines, and labels", {
195-
info <- expect_traces(no.breaks, 3)
196+
info <- expect_traces(no.breaks, 3, "hide-ticks-lines-labels")
196197
x <- info$kwargs$layout$xaxis
197198
expect_identical(x[["showticklabels"]], FALSE)
198199
##expect_identical(x[["showline"]], FALSE) #irrelevant.
@@ -213,7 +214,7 @@ test_that("hide x ticks, lines, and labels", {
213214
test_that("Hide X ticks and labels, but keep the gridlines", {
214215
boxes.grid <- boxes +
215216
theme(axis.ticks = element_blank(), axis.text.x = element_blank())
216-
info <- expect_traces(boxes.grid, 3)
217+
info <- expect_traces(boxes.grid, 3, "hide-ticks-labels")
217218
x <- info$kwargs$layout$xaxis
218219
expect_identical(x[["showticklabels"]], FALSE)
219220
expect_identical(x[["showgrid"]], TRUE)
@@ -222,14 +223,14 @@ test_that("Hide X ticks and labels, but keep the gridlines", {
222223

223224
test_that("scale_y_continuous(limits) means yaxis$ranges", {
224225
boxes.range <- boxes + scale_y_continuous(limits=c(0,8))
225-
info <- expect_traces(boxes.range, 3)
226+
info <- expect_traces(boxes.range, 3, "ycontinuous-ranges")
226227
y.axis <- info$kwargs$layout$yaxis
227228
expect_equal(y.axis$range, c(0, 8))
228229
})
229230

230231
test_that("ylim() means yaxis$ranges", {
231232
boxes.range <- boxes + ylim(0,8)
232-
info <- expect_traces(boxes.range, 3)
233+
info <- expect_traces(boxes.range, 3, "ylim-ranges")
233234
y.axis <- info$kwargs$layout$yaxis
234235
expect_equal(y.axis$range, c(0, 8))
235236
## ensure correct positive values without reverse scale.
@@ -243,7 +244,7 @@ test_that("ylim() means yaxis$ranges", {
243244

244245
test_that("scale_y_reverse() -> yaxis$ranges reversed", {
245246
boxes.reverse <- boxes + scale_y_reverse()
246-
info <- expect_traces(boxes.reverse, 3)
247+
info <- expect_traces(boxes.reverse, 3, "yreverse-ranges")
247248
y.axis <- info$kwargs$layout$yaxis
248249
expect_that(y.axis$range[2], is_less_than(y.axis$range[1]))
249250
## ensure correct positive values, despite the reverse scale.
@@ -258,7 +259,7 @@ test_that("scale_y_reverse() -> yaxis$ranges reversed", {
258259
test_that("scale_y_reverse(limits) -> yaxis$ranges reversed", {
259260
y.lim <- c(10, -2)
260261
boxes.reverse <- boxes + scale_y_reverse(limits=y.lim)
261-
info <- expect_traces(boxes.reverse, 3)
262+
info <- expect_traces(boxes.reverse, 3, "yreverse-limits-ranges")
262263
y.axis <- info$kwargs$layout$yaxis
263264
expect_equal(y.axis$range, y.lim)
264265
## ensure correct positive values, despite the reverse scale.
@@ -272,7 +273,7 @@ test_that("scale_y_reverse(limits) -> yaxis$ranges reversed", {
272273

273274
test_that("ylim(reversed) -> yaxis$ranges reversed", {
274275
boxes.reverse <- boxes + ylim(7.5, -1)
275-
info <- expect_traces(boxes.reverse, 3)
276+
info <- expect_traces(boxes.reverse, 3, "ylim-reversed-ranges")
276277
y.axis <- info$kwargs$layout$yaxis
277278
expect_equal(y.axis$range, c(7.5, -1))
278279
## ensure correct positive values, despite the reverse scale.
@@ -288,7 +289,7 @@ test_that("Set the X tick mark locations", {
288289
## This will show tick marks on every 0.25 from 1 to 10. The scale will
289290
## show only the ones that are within range (3.50-6.25 in this case)
290291
boxes.ticks <- boxes + scale_y_continuous(breaks=seq(1,10,1/4))
291-
info <- expect_traces(boxes.ticks, 3)
292+
info <- expect_traces(boxes.ticks, 3, "evenly-spaced-ticks")
292293
y.axis <- info$kwargs$layout$yaxis
293294
expect_equal(y.axis$dtick, 0.25)
294295
expect_identical(y.axis$autotick, FALSE)
@@ -303,7 +304,7 @@ test_that("The breaks can be spaced unevenly", {
303304

304305
test_that("hide y ticks, lines, and labels", {
305306
no.breaks <- boxes + scale_y_continuous(breaks=NULL)
306-
info <- expect_traces(no.breaks, 3)
307+
info <- expect_traces(no.breaks, 3, "hide-y")
307308
y.axis <- info$kwargs$layout$yaxis
308309
expect_identical(y.axis[["showgrid"]], FALSE)
309310
expect_identical(y.axis[["ticks"]], "")
@@ -313,7 +314,7 @@ test_that("hide y ticks, lines, and labels", {
313314
test_that("hide y ticks and labels, but keep the gridlines", {
314315
boxes.ygrid <- boxes +
315316
theme(axis.ticks = element_blank(), axis.text.y = element_blank())
316-
info <- expect_traces(boxes.ygrid, 3)
317+
info <- expect_traces(boxes.ygrid, 3, "hide-y-keep-grid")
317318
y.axis <- info$kwargs$layout$yaxis
318319
expect_identical(y.axis[["showgrid"]], TRUE)
319320
expect_identical(y.axis[["ticks"]], "")

0 commit comments

Comments
 (0)