1context("geom-hline-vline-abline") 2 3 4# Visual tests ------------------------------------------------------------ 5 6test_that("check h/v/abline transformed on basic projections", { 7 dat <- data_frame(x = LETTERS[1:5], y = 1:5) 8 plot <- ggplot(dat, aes(x, y)) + 9 geom_col(width = 1) + 10 geom_point() + 11 geom_vline(xintercept = 3, colour = "red") + 12 geom_hline(yintercept = 3, colour = "blue") + 13 geom_abline(intercept = 0, slope = 1, colour = "purple") + 14 labs(x = NULL, y = NULL) + 15 coord_cartesian(expand = FALSE) 16 17 expect_doppelganger( 18 "cartesian lines intersect mid-bars", 19 plot 20 ) 21 expect_doppelganger( 22 "flipped lines intersect mid-bars", 23 plot + coord_flip() 24 ) 25 expect_doppelganger( 26 "polar lines intersect mid-bars", 27 plot + coord_polar() 28 ) 29}) 30 31test_that("curved lines in map projections", { 32 nz <- subset(map_data("nz"), region == "North.Island ") 33 nzmap <- ggplot(nz, aes(long, lat, group = group)) + 34 geom_path() + 35 geom_hline(yintercept = -38.6) + # roughly Taupo 36 geom_vline(xintercept = 176) + 37 coord_map() 38 39 expect_doppelganger("straight lines in mercator", 40 nzmap 41 ) 42 expect_doppelganger("lines curved in azequalarea", 43 nzmap + coord_map(projection = 'azequalarea', orientation = c(-36.92, 174.6, 0)) 44 ) 45}) 46 47# Warning tests ------------------------------------------------------------ 48 49test_that("warn_overwritten_args() produces gramatically correct error messages", { 50 expect_warning( 51 warn_overwritten_args("fun_test", "is_overwritten", "provided"), 52 "fun_test: Ignoring `is_overwritten` because `provided` was provided." 53 ) 54 expect_warning( 55 warn_overwritten_args("fun_test", "is_overwritten", c("provided1", "provided2")), 56 "fun_test: Ignoring `is_overwritten` because `provided1` and/or `provided2` were provided." 57 ) 58 expect_warning( 59 warn_overwritten_args("fun_test", "is_overwritten", c("provided1", "provided2", "provided3")), 60 "fun_test: Ignoring `is_overwritten` because `provided1`, `provided2`, and/or `provided3` were provided." 61 ) 62}) 63 64test_that("Warning if a supplied mapping is going to be overwritten", { 65 66 expect_warning( 67 geom_vline(xintercept = 3, aes(colour = colour)), 68 "Ignoring `mapping`" 69 ) 70 71 expect_warning( 72 geom_hline(yintercept = 3, aes(colour = colour)), 73 "Ignoring `mapping`" 74 ) 75 76 expect_warning( 77 geom_abline(intercept = 3, aes(colour = colour)), 78 "Ignoring `mapping`" 79 ) 80 81 expect_warning( 82 geom_abline(intercept = 3, slope = 0.5, aes(colour = colour)), 83 "Ignoring `mapping`" 84 ) 85 86 expect_warning( 87 geom_abline(slope = 0.5, aes(colour = colour)), 88 "Ignoring `mapping`" 89 ) 90}) 91 92 93test_that("Warning if supplied data is going to be overwritten", { 94 95 sample_data <- data_frame(x = 1) 96 97 expect_warning( 98 geom_vline(xintercept = 3, data = sample_data), 99 "Ignoring `data`" 100 ) 101 102 expect_warning( 103 geom_hline(yintercept = 3, data = sample_data), 104 "Ignoring `data`" 105 ) 106 107 expect_warning( 108 geom_abline(intercept = 3, data = sample_data), 109 "Ignoring `data`" 110 ) 111 112 expect_warning( 113 geom_abline(intercept = 3, slope = 0.5, data = sample_data), 114 "Ignoring `data`" 115 ) 116 117 expect_warning( 118 geom_abline(slope = 0.5, data = sample_data), 119 "Ignoring `data`" 120 ) 121}) 122