context("breaking")
library(ggplot2)
test_that("things break in an expected way", {
expect_error({
ggplot(iris, aes(Sepal.Length, Petal.Length)) +
geom_point() +
facet_geo(~ Species)
},
"do not match")
# works with only a subset of states
tmp <- subset(state_ranks, state %in% c("WA", "OR", "CA"))
p <- ggplot(tmp, aes(variable, rank, fill = variable)) +
geom_col() +
coord_flip() +
facet_geo(~ state) +
theme_bw()
print(p)
tmp <- state_ranks
tmp$state[tmp$state == "WA"] <- "AW"
expect_message({
ggplot(tmp, aes(variable, rank, fill = variable)) +
geom_col() +
coord_flip() +
facet_geo(~ state) +
theme_bw()
},
"will be removed")
# bad grid...
expect_error({
ggplot(tmp, aes(variable, rank, fill = variable)) +
geom_col() +
coord_flip() +
facet_geo(~ state, grid = "asdf") +
theme_bw()
},
"not recognized")
expect_message({
ggplot(tmp, aes(variable, rank, fill = variable)) +
geom_col() +
coord_flip() +
facet_geo(~ state + stuff) +
theme_bw()
},
"Multiple facet columns")
expect_message({
p <- ggplot(sa_pop_dens, aes(factor(year), density, fill = factor(year))) +
geom_col() +
facet_geo(~ code, grid = "sa_prov_grid1", label = "name_asdf") +
labs(title = "South Africa population density by province",
caption = "Data Source: Statistics SA Census",
y = "Population density per square km") +
theme_bw()
},
"does not exist")
my_grid <- us_state_grid1
# make it overlap another state
my_grid$col[my_grid$code == "WA"] <- 2
expect_error({
check_grid(my_grid)
},
"must have unique")
my_grid$col[my_grid$code == "WA"] <- 0
expect_error({
check_grid(my_grid)
},
"must have positive")
my_grid$col[my_grid$code == "WA"] <- 1
my_grid$row[my_grid$code == "WA"] <- 0
expect_error({
check_grid(my_grid)
},
"must have positive")
names(my_grid)[1] <- "asdf"
expect_error({
check_grid(my_grid)
},
"must contain variables 'row' and 'col'")
names(my_grid)[1] <- "row"
names(my_grid)[3] <- "cooode"
expect_error({
check_grid(my_grid)
},
"must begin with 'code' or 'name'")
names(my_grid)[3] <- "code"
expect_error({
check_grid(my_grid[, 1:3])
},
"must have at least one column beginning with 'name'")
expect_error({
check_grid(my_grid[, c(1:2, 4)])
},
"must have at least one column beginning with 'code'")
my_grid <- us_state_grid1
my_grid[4, 2] <- NA
expect_error({
check_grid(my_grid)
},
"cannot have any missing values")
expect_error({
get_grid(list(1))
},
"grid not recognized...")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.