tests/test-phoenix_respiratory.R

library(phoenix)

################################################################################
# verify that the return is an integer vector
eg <-
  phoenix_respiratory(
    pf_ratio = pao2 / fio2,
    sf_ratio = spo2 / fio2,
    imv      = vent,
    other_respiratory_support = as.integer(fio2 > 0.21),
    data = sepsis
  )

stopifnot("return is an integer vector" = is.integer(eg))

################################################################################
# verify that a single 0 is returned when nothing is passed, or just a data set
# is passed
stopifnot(identical(phoenix_respiratory(), 0L))
stopifnot(identical(phoenix_respiratory(data = sepsis), 0L))


################################################################################
# verify error if lengths differ
x <- tryCatch(phoenix_respiratory(pf_ratio = numeric(0)), error = function(e) e)
stopifnot(inherits(x, "simpleError"))
stopifnot(identical(
  x$message,
 "All inputs need to either have the same length or have length 1. Length of pf_ratio is 0; Length of sf_ratio is 1; Length of imv is 1; Length of other_respiratory_support is 1."
))

x <- tryCatch(phoenix_respiratory(pf_ratio = c(NA, NA), imv = c(NA, NA, NA)), error = function(e) e)
stopifnot(inherits(x, "simpleError"))
stopifnot(identical(
  x$message,
 "All inputs need to either have the same length or have length 1. Length of pf_ratio is 2; Length of sf_ratio is 1; Length of imv is 3; Length of other_respiratory_support is 1."
))

################################################################################
#                                 End of File                                  #
################################################################################

Try the phoenix package in your browser

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

phoenix documentation built on June 8, 2025, 10:47 a.m.