#' @title Specifications test-add_quantiles.R
#' @section Last updated by: Tim Treis (tim.treis@@outlook.de)
#' @section Last update date: 2022-02-09T15:22:32
#'
#' @section List of tested specifications
#' T1. The quantile lines are y-axis-transformation dependent.
#' T1.1 No error when the default `surv` option is used.
#' T1.2 No error when a function is passed as a string.
#' T1.3 No error when a `.Primitive` function is used.
#' T1.4 No error when a custom function is used.
#' T2. If any parameter is specified incorrectly, defaults are used instead.
#' T2.1 A warning if `quantiles` is not a numeric or vector of numerics.
#' T2.2 A warning if `linetype` is not a character string.
#' T2.3 A warning if `linecolour` is not a character string.
#' T2.4 A warning if `alpha` is not a character string or outside [0, 1].
#' T2.5 No error when the default parameters are used.
#' T2.6 No error when `quantiles` is a single number.
#' T2.7 No error when `quantiles` is a numeric vector.
#' T2.8 No error when `linetype` is a non-default character string.
#' T2.9 No error when `linetype` is `mixed`.
#' T2.10 No error when `linecolour` is a non-default character string.
#' T2.11 No error when `linecolour` is `strata`.
# Requirement T1 ----------------------------------------------------------
testthat::context("add_quantiles - T1. The quantile lines are y-axis-transformation dependent.")
testthat::test_that("T1.1 No error when the default `surv` option is used.", {
adtte %>%
visR::estimate_KM() %>%
visR::visr() %>% # defaults to fun = "surv"
visR::add_quantiles() %>%
testthat::expect_error(NA)
})
testthat::test_that("T1.2 No error when a function is passed as a string.", {
adtte %>%
visR::estimate_KM() %>%
visR::visr(fun = "log") %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
adtte %>%
visR::estimate_KM() %>%
visR::visr(fun = "event") %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
suppressWarnings(
adtte %>%
visR::estimate_KM() %>%
visR::visr(fun = "cloglog")
) %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
adtte %>%
visR::estimate_KM() %>%
visR::visr(fun = "pct") %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
adtte %>%
visR::estimate_KM() %>%
visR::visr(fun = "logpct") %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
adtte %>%
visR::estimate_KM() %>%
visR::visr(fun = "cumhaz") %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
})
testthat::test_that("T1.3 No error when a `.Primitive` function is used.", {
adtte %>%
visR::estimate_KM() %>%
visR::visr(fun = log, y_label = "neded_since_fun_not_string") %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
})
testthat::test_that("T1.4 No error when a custom function is used.", {
suppressWarnings(
adtte %>%
visR::estimate_KM() %>%
visR::visr(
fun = function(x) log(-log(x)),
y_label = "neded_since_fun_not_string"
)
) %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
})
# Requirement T2 ---------------------------------------------------------------
testthat::context("add_quantiles - T2. If any parameter is specified incorrectly, defaults are used instead.")
testthat::test_that("T2.1 A warning if `quantiles` is not a numeric or vector of numerics.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
expected_warning <- "Invalid argument for `quantiles`, must be numeric. Setting it to 0.5."
gg %>%
visR::add_quantiles(quantiles = NULL) %>%
testthat::expect_warning(expected_warning)
gg %>%
visR::add_quantiles(quantiles = "visR") %>%
testthat::expect_warning(expected_warning)
gg %>%
visR::add_quantiles(quantiles = c(0.2, "visR", 0.5)) %>%
testthat::expect_warning(expected_warning)
})
testthat::test_that("T2.2 A warning if `linetype` is not a character string.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
expected_warning <- "Invalid argument for `linetype`, must be a character string. Setting it to default 'dashed'."
gg %>%
visR::add_quantiles(linetype = NULL) %>%
testthat::expect_warning(expected_warning)
gg %>%
visR::add_quantiles(linetype = 1) %>%
testthat::expect_warning(expected_warning)
})
testthat::test_that("T2.3 A warning if `linecolour` is not a character string.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
expected_warning <- "Invalid argument for `linecolour`, must be a character string. Setting it to default 'grey50'."
gg %>%
visR::add_quantiles(linecolour = NULL) %>%
testthat::expect_warning(expected_warning)
gg %>%
visR::add_quantiles(linecolour = 1) %>%
testthat::expect_warning(expected_warning)
})
testthat::test_that("T2.4 A warning if `alpha` is not a character string or outside [0, 1].", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
expected_warning <- "Invalid `alpha` argument, must be between 0 and 1. Setting it to 1.0."
gg %>%
visR::add_quantiles(alpha = "visR") %>%
testthat::expect_warning(expected_warning)
gg %>%
visR::add_quantiles(alpha = -1) %>%
testthat::expect_warning(expected_warning)
gg %>%
visR::add_quantiles(alpha = 10) %>%
testthat::expect_warning(expected_warning)
})
testthat::test_that("T2.5 No error when the default parameters are used.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
gg %>%
visR::add_quantiles() %>%
testthat::expect_error(NA)
})
testthat::test_that("T2.6 No error when `quantiles` is a single number.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
gg %>%
visR::add_quantiles(quantiles = 0.5) %>%
testthat::expect_error(NA)
})
testthat::test_that("T2.7 No error when `quantiles` is a numeric vector.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
gg %>%
visR::add_quantiles(quantiles = c(0.25, 0.50)) %>%
testthat::expect_error(NA)
})
testthat::test_that("T2.8 No error when `linetype` is a non-default character string.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
gg %>%
visR::add_quantiles(
quantiles = c(0.25, 0.50),
linetype = "solid"
) %>%
testthat::expect_error(NA)
})
testthat::test_that("T2.9 No error when `linetype` is `mixed`.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
gg %>%
visR::add_quantiles(
quantiles = c(0.25, 0.50),
linetype = "mixed"
) %>%
testthat::expect_error(NA)
})
testthat::test_that("T2.10 No error when `linecolour` is a non-default character string.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
gg %>%
visR::add_quantiles(
quantiles = c(0.25, 0.50),
linetype = "solid",
linecolour = "red"
) %>%
testthat::expect_error(NA)
})
testthat::test_that("T2.11 No error when `linecolour` is `strata`.", {
gg <- adtte %>%
visR::estimate_KM() %>%
visR::visr()
gg %>%
visR::add_quantiles(
quantiles = c(0.25, 0.50),
linetype = "solid",
linecolour = "strata"
) %>%
testthat::expect_error(NA)
})
# END OF CODE -------------------------------------------------------------
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.