Nothing
context("position_jitternudge")
test_that("incorrect kept.origin used", {
expect_error(
position_jitternudge(kept.origin = "wrong")
#, "`kept.origin` must be one of \"jittered\", \"original\", or \"none\", not\n\"wrong\"."
)
})
test_that("correct kept.origin used", {
expect_no_error(position <- position_jitternudge())
expect_identical(position$kept.origin, "jittered")
})
test_that("correct kept.origin used", {
expect_no_error(position <- position_jitternudge(kept.origin = "jittered"))
expect_identical(position$kept.origin, "jittered")
})
test_that("correct kept.origin used", {
expect_no_error(position <- position_jitternudge(kept.origin = "original"))
expect_identical(position$kept.origin, "original")
})
test_that("correct kept.origin used", {
expect_no_error(position <- position_jitternudge(kept.origin = "none"))
expect_identical(position$kept.origin, "none")
})
test_that("incorrect nudge.from used", {
expect_error(
position_jitternudge(nudge.from = "original.z")
#, "`nudge.from` must be one of \"original\", \"original.x\", \"original.y\",\n\"jittered\", \"jittered.y\", or \"jittered.x\", not \"original.z\".\nℹ Did you mean \"original.x\"?"
)
})
test_that("correct nudge.from used", {
expect_no_error(position <- position_jitternudge())
expect_identical(position$nudge.from, "original")
})
test_that("correct nudge.from used", {
expect_no_error(position <- position_jitternudge(nudge.from = "original"))
expect_identical(position$nudge.from, "original")
})
test_that("correct nudge.from used", {
expect_no_error(position <- position_jitternudge(nudge.from = "original.x"))
expect_identical(position$nudge.from, "original.x")
})
test_that("correct nudge.from used", {
expect_no_error(position <- position_jitternudge(nudge.from = "original.y"))
expect_identical(position$nudge.from, "original.y")
})
test_that("correct nudge.from used", {
expect_no_error(position <- position_jitternudge(nudge.from = "jittered"))
expect_identical(position$nudge.from, "jittered")
})
test_that("correct nudge.from used", {
expect_no_error(position <- position_jitternudge(nudge.from = "jittered.x"))
expect_identical(position$nudge.from, "jittered.x")
})
test_that("correct nudge.from used", {
expect_no_error(position <- position_jitternudge(nudge.from = "jittered.y"))
expect_identical(position$nudge.from, "jittered.y")
})
test_that("test if correct arguments are assigned", {
position <- position_jitternudge(width = 0.2, height = 2,
seed = 123, x = 0.35,
direction = "split",
nudge.from = "original.x")
expect_identical(position$kept.origin, "jittered")
expect_identical(position$nudge.from, "original.x")
expect_identical(position$width, 0.2)
expect_identical(position$height, 2)
expect_identical(position$seed, 123)
expect_identical(position$x, 0.35)
expect_identical(position$y, 0)
expect_type(position$compute_panel, "closure")
expect_type(position$compute_layer, "closure")
expect_type(position$setup_data, "closure")
expect_type(position$setup_params, "closure")
skip_if(condition = utils::packageVersion("ggplot2") < "4.0.0",
message = "'ggplot2' < 4.0.0")
expect_identical(position$required_aes, c("x", "y"))
expect_type(position$aesthetics, "closure")
expect_type(position$use_defaults, "closure")
})
test_that("test if correct arguments are assigned with x < 0", {
position <- position_jitternudge(width = 0.2, height = 2,
seed = 123, x = -0.35, y = -1,
direction = "alternate",
nudge.from = "original.x")
expect_identical(position$kept.origin, "jittered")
expect_identical(position$nudge.from, "original.x")
expect_identical(position$width, 0.2)
expect_identical(position$height, 2)
expect_identical(position$seed, 123)
expect_identical(position$x, -0.35)
expect_identical(position$y, -1)
expect_type(position$compute_panel, "closure")
expect_type(position$compute_layer, "closure")
expect_type(position$setup_data, "closure")
expect_type(position$setup_params, "closure")
skip_if(condition = utils::packageVersion("ggplot2") < "4.0.0",
message = "'ggplot2' < 4.0.0")
expect_identical(position$required_aes, c("x", "y"))
expect_type(position$aesthetics, "closure")
expect_type(position$use_defaults, "closure")
})
test_that("test if correct arguments are assigned with x < 0", {
position <- position_jitternudge(width = 0.2, height = 2,
seed = 123, x = -0.35, y = -1,
direction = "as.is",
nudge.from = "original.y",
kept.origin = "original")
expect_identical(position$kept.origin, "original")
expect_identical(position$nudge.from, "original.y")
expect_identical(position$width, 0.2)
expect_identical(position$height, 2)
expect_identical(position$seed, 123)
expect_identical(position$x, -0.35)
expect_identical(position$y, -1)
expect_type(position$compute_panel, "closure")
expect_type(position$compute_layer, "closure")
expect_type(position$setup_data, "closure")
expect_type(position$setup_params, "closure")
skip_if(condition = utils::packageVersion("ggplot2") < "4.0.0",
message = "'ggplot2' < 4.0.0")
expect_identical(position$required_aes, c("x", "y"))
expect_type(position$aesthetics, "closure")
expect_type(position$use_defaults, "closure")
})
test_that("warn on x or y longer than data", {
expect_no_warning(
ggplot(mtcars, aes(x = am, y = mpg, label = mpg)) +
geom_text_s(
position = position_jitternudge(x = 0, y = rep(0.5, nrow(mtcars))),
size = 2.5
)
)
expect_no_warning(
ggplot(mtcars, aes(x = am, y = mpg, label = mpg)) +
geom_text_s(
position = position_jitternudge(y = 0, x = rep(0.05, nrow(mtcars))),
size = 2.5
)
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.