#' @title Specifications test-stat_stepribbon.R
#' @section Last updated by: Daniel Sjoberg (danield.sjoberg@@gmail.com)
#' @section Last update date: 2022-07-12T04:47:32
#'
#' @section List of tested specifications
#' T1. visR::stat_stepribbon() accepts aes() args ymin and ymax.
#' T1.1 visR::stat_stepribbon() inherits aes from ggplot()
#' T1.2 visR::stat_stepribbon() respects aes from visR::stat_stepribbon()
#' T2. visR::stat_stepribbon() works with the color/fill aesthetic.
#' T2.1 The step ribbon is correctly applied when there are multiple lines from the color/fill aesthetic
#' T3. visR::stat_stepribbon(direction=) argument is respected.
#' T3.1 The visR::stat_stepribbon(direction=) argument is able to produce figures based on both argument options.
# Requirement T1 ----------------------------------------------------------
testthat::context("stat_stepribbon - T1. visR::stat_stepribbon() accepts aes() args ymin and ymax.")
test_that("T1.1 visR::stat_stepribbon() inherits aes from ggplot()", {
survfit_tidy <-
survival::survfit(survival::Surv(time, status) ~ 1, data = survival::lung) %>%
survival::survfit0() %>%
broom::tidy()
testthat::expect_error(
gg_step1 <-
survfit_tidy %>%
ggplot2::ggplot(ggplot2::aes(x = time, y = estimate, ymin = conf.low, ymax = conf.high)) +
ggplot2::geom_step() +
ggplot2::geom_ribbon(stat = "stepribbon", alpha = 0.2),
NA
)
vdiffr::expect_doppelganger("geom_ribbon-stepribbon-ggplot-aes", gg_step1)
testthat::expect_error(
gg_step2 <-
survfit_tidy %>%
ggplot2::ggplot(ggplot2::aes(x = time, y = estimate, ymin = conf.low, ymax = conf.high)) +
ggplot2::geom_step() +
stat_stepribbon(alpha = 0.2),
NA
)
vdiffr::expect_doppelganger("stat_stepribbon-ggplot-aes", gg_step2)
})
test_that("T1.2 visR::stat_stepribbon() respects aes from visR::stat_stepribbon()", {
survfit_tidy <-
survival::survfit(survival::Surv(time, status) ~ 1, data = survival::lung) %>%
survival::survfit0() %>%
broom::tidy()
testthat::expect_error(
gg_step1 <-
survfit_tidy %>%
ggplot2::ggplot(ggplot2::aes(x = time, y = estimate)) +
ggplot2::geom_step() +
ggplot2::geom_ribbon(ggplot2::aes(ymin = conf.low, ymax = conf.high),
stat = "stepribbon", alpha = 0.2),
NA
)
vdiffr::expect_doppelganger("geom_ribbon-stepribbon-geom_ribbon-aes", gg_step1)
testthat::expect_error(
gg_step2 <-
survfit_tidy %>%
ggplot2::ggplot(ggplot2::aes(x = time, y = estimate)) +
ggplot2::geom_step() +
stat_stepribbon(ggplot2::aes(ymin = conf.low, ymax = conf.high), alpha = 0.2),
NA
)
vdiffr::expect_doppelganger("stat_stepribbon-stat_stepribbon-aes", gg_step2)
})
# Requirement T2 ----------------------------------------------------------
testthat::context("stat_stepribbon - visR::stat_stepribbon() works with the color/fill aesthetic.")
test_that("T2.1 The step ribbon is correctly applied when there are multiple lines from the color/fill aesthetic.", {
survfit_tidy <-
survival::survfit(survival::Surv(time, status) ~ sex, data = survival::lung) %>%
survival::survfit0() %>%
broom::tidy()
testthat::expect_error(
gg_step1 <-
survfit_tidy %>%
ggplot2::ggplot(ggplot2::aes(x = time, y = estimate,
ymin = conf.low, ymax = conf.high,
color = strata)) +
ggplot2::geom_step() +
ggplot2::geom_ribbon(stat = "stepribbon", alpha = 0.2),
NA
)
vdiffr::expect_doppelganger("geom_ribbon-stepribbon-aes-with-color", gg_step1)
})
# Requirement T3 ----------------------------------------------------------
testthat::context("stat_stepribbon - visR::stat_stepribbon(direction=) argument is respected.")
test_that("T3.1 The visR::stat_stepribbon(direction=) argument is able to produce figures based on both argument options.", {
survfit_tidy <-
survival::survfit(survival::Surv(time, status) ~ 1, data = survival::lung) %>%
survival::survfit0() %>%
broom::tidy()
testthat::expect_error(
gg_step1 <-
survfit_tidy %>%
ggplot2::ggplot(ggplot2::aes(x = time, y = estimate,
ymin = conf.low, ymax = conf.high)) +
ggplot2::geom_step() +
stat_stepribbon(ggplot2::aes(ymin = conf.low, ymax = conf.high),
alpha = 0.2, direction = "vh"),
NA
)
vdiffr::expect_doppelganger("geom_ribbon-stepribbon-direction-vh", gg_step1)
testthat::expect_error(
gg_step2 <-
survfit_tidy %>%
ggplot2::ggplot(ggplot2::aes(x = time, y = estimate,
ymin = conf.low, ymax = conf.high)) +
ggplot2::geom_step() +
stat_stepribbon(ggplot2::aes(ymin = conf.low, ymax = conf.high),
alpha = 0.2, direction = "hv"),
NA
)
vdiffr::expect_doppelganger("geom_ribbon-stepribbon-direction-hv", gg_step2)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.