1context("geom-raster") 2 3 4# Visual tests ------------------------------------------------------------ 5 6test_that("geom_raster draws correctly", { 7 set.seed(1) 8 9 # 3 x 2 ---------------------------------------------------------------------- 10 df <- data_frame(x = rep(c(-1, 1), each = 3), y = rep(-1:1, 2), z = 1:6) 11 12 expect_doppelganger("3 x 2", 13 ggplot(df, aes(x, y, fill = z)) + geom_raster() + geom_point(colour = "red") 14 ) 15 expect_doppelganger("3 x 2, set limits", 16 ggplot(df, aes(x, y, fill = z)) + geom_raster() + geom_point(colour = "red") + 17 xlim(-2, 2) + ylim(-2, 2) 18 ) 19 expect_doppelganger("3 x 2, just = (0, 0)", 20 ggplot(df, aes(x, y, fill = z)) + geom_raster(hjust = 0, vjust = 0) + 21 geom_point(colour = "red") 22 ) 23 24 # 1 x 3 ---------------------------------------------------------------------- 25 df <- data_frame(x = -1:1, y = 0, z = 1:3) 26 27 expect_doppelganger("1 x 3", 28 ggplot(df, aes(x, y, fill = z)) + geom_raster() + geom_point(colour = "red") 29 ) 30 expect_doppelganger("1 x 3, set limits", 31 ggplot(df, aes(x, y, fill = z)) + geom_raster() + geom_point(colour = "red") + 32 xlim(-2, 2) + ylim(-2, 2) 33 ) 34 expect_doppelganger("1 x 3, just = (0, 0)", 35 ggplot(df, aes(x, y, fill = z)) + geom_raster(hjust = 0, vjust = 0) + 36 geom_point(colour = "red") 37 ) 38 39 # 3 x 1 ---------------------------------------------------------------------- 40 41 df <- data_frame(x = 0, y = -1:1, z = 1:3) 42 expect_doppelganger("3 x 1", 43 ggplot(df, aes(x, y, fill = z)) + geom_raster() + geom_point(colour = "red") 44 ) 45 expect_doppelganger("3 x 1, set limits", 46 ggplot(df, aes(x, y, fill = z)) + geom_raster() + geom_point(colour = "red") + 47 xlim(-2, 2) + ylim(-2, 2) 48 ) 49 expect_doppelganger("3 x 1, just = (0, 0)", 50 ggplot(df, aes(x, y, fill = z)) + geom_raster(hjust = 0, vjust = 0) + 51 geom_point(colour = "red") 52 ) 53 54 # Categorical fill, irregular swatches --------------------------------------- 55 56 df <- expand.grid(x = 1:10, y = 1:10) 57 df$col <- (df$x + df$y) %% 2 58 df$col[df$x == 5 & df$col == 1] <- NA 59 df$col[df$y == 5 & df$col == 0] <- NA 60 expect_doppelganger("irregular categorical", 61 qplot(x, y, data = df, fill = factor(col), geom = "raster") 62 ) 63}) 64