Skip to content

Commit 515ad2d

Browse files
committed
Add tests for date(time) break calculation
1 parent caafb8d commit 515ad2d

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

tests/testthat/test-scale-binned.R

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,39 @@ test_that("binned scales only support continuous data", {
44
p <- ggplot(mtcars) + geom_point(aes(disp, mpg, colour = as.character(gear))) + scale_color_binned()
55
expect_snapshot_error(ggplot_build(p))
66
})
7+
8+
test_that('binned scales can calculate breaks on dates', {
9+
10+
data <- seq(as.Date("2000-01-01"), as.Date("2020-01-01"), length.out = 100)
11+
12+
scale <- scale_x_binned(trans = "date")
13+
scale$train(scale$transform(data))
14+
breaks <- scale$trans$inverse(scale$get_breaks())
15+
16+
expect_s3_class(breaks, "Date")
17+
expect_equal(
18+
unname(breaks),
19+
as.Date(paste0(seq(2002, 2018, by = 2), "-01-01"))
20+
)
21+
})
22+
23+
test_that('binned scales can calculate breaks on date-times', {
24+
data <- seq(
25+
strptime("2000-01-01", "%Y-%m-%d"),
26+
strptime("2020-01-01", "%Y-%m-%d"),
27+
length.out = 100
28+
)
29+
30+
scale <- scale_x_binned(trans = "time")
31+
scale$train(scale$transform(data))
32+
breaks <- scale$trans$inverse(scale$get_breaks())
33+
34+
expect_s3_class(breaks, "POSIXct")
35+
expect_equal(
36+
unname(unclass(breaks)),
37+
unclass(as.POSIXct(strptime(
38+
paste0(seq(2002, 2018, by = 2), "-01-01"),
39+
"%Y-%m-%d"
40+
)))
41+
)
42+
})

0 commit comments

Comments
 (0)