Title: | Validate Function Arguments |
---|---|
Description: | Lightweight validation tool for checking function arguments and validating data analysis scripts. This is an alternative to stopifnot() from the 'base' package and to assert_that() from the 'assertthat' package. It provides more informative error messages and facilitates debugging. |
Authors: | Olivier Binette [aut, cre, cph] |
Maintainer: | Olivier Binette <[email protected]> |
License: | GPL (>= 2) |
Version: | 1.0.1 |
Built: | 2024-11-16 04:33:50 UTC |
Source: | https://github.com/olivierbinette/assert |
Assert that each of the provided expression is true. Otherwise stop execution and return a description of each failed assertion.
assert(..., msg = "", stop = TRUE)
assert(..., msg = "", stop = TRUE)
... |
List of logical assertions. |
msg |
Message to print alongside the list of failed assertions (if any). |
stop |
Whether execution should be stopped on failed assertions. If set to FALSE, then only a warning is issued. Default is TRUE. |
Nothing if all assertions pass. Otherwise throws an error describing which
attach(ChickWeight) # Passing assertions assert(is.numeric(weight), all(weight > 0)) # Failing assertions if (interactive()) { assert(all(Diet > 0), is.numeric(Times)) } # Validating function arguments sum <- function(a, b) { assert(is.numeric(a), is.numeric(b), length(a) == length(b)) return(a+b) } sum(2, 2) if (interactive()) { sum("1", 2) sum(1, c(1,2)) sum(1, x) }
attach(ChickWeight) # Passing assertions assert(is.numeric(weight), all(weight > 0)) # Failing assertions if (interactive()) { assert(all(Diet > 0), is.numeric(Times)) } # Validating function arguments sum <- function(a, b) { assert(is.numeric(a), is.numeric(b), length(a) == length(b)) return(a+b) } sum(2, 2) if (interactive()) { sum("1", 2) sum(1, c(1,2)) sum(1, x) }