tests/testthat/test-roundSAS.R

#' @title roundSAS() requirements
#' @section Last updated by:
#' Sheng-Wei Wang
#' @section Last update date:
#' 13-APR-2021
#' @section Category:
#' Generate Results

library(dplyr)

# Requirements --------------------------------------------------------------------------------
#' T1. The function produces expected decimal rounding ...
#' T1.1 for rounding up midpoint values
#' T1.2 for rounding up midpoint values and convert to character
#' T2. The function creates expected missing value label ...
#' T2.1 when converting to character with missing values
#' T2.2 when converting to character and na_char is specified

# context("roundSAS - T1. The function produces expected decimal rounding ...")

test_that("T1.1 for rounding up midpoint values", {

  x <- c(-2.5, -1.5, -0.5, 0.5, 1.5, 2.5)

  expect_equal(roundSAS(x, digits = 0),
               c(-3, -2, -1, 1, 2, 3))
})

test_that("T1.2 for rounding up midpoint values and convert to character", {

  x <- c(-2.5, -1.5, -0.5, 0.5, 1.5, 2.5)

  expect_equal(roundSAS(x, digits = 0, as_char = TRUE),
               c("-3", "-2", "-1", "1", "2", "3"))
})

# context("roundSAS - T2. The function creates expected missing value label ...")

test_that("T2.1 when converting to character with missing values", {

  y <- c(8.65, 8.75, NA, 9.85, 9.95)

  expect_equal(roundSAS(y, digits = 1, as_char = TRUE),
               c("8.7", "8.8", "NA", "9.9", "10.0"))

})

test_that("T2.2 when converting to character and na_char is specified", {

  y <- c(8.65, 8.75, NA, 9.85, 9.95)

  expect_equal(roundSAS(y, digits = 1, as_char = TRUE, na_char = "NE"),
               c("8.7", "8.8", "NE", "9.9", "10.0"))

})

Try the tidytlg package in your browser

Any scripts or data that you put into this service are public.

tidytlg documentation built on June 22, 2024, 10:43 a.m.