Nothing
## Test utils: to be sourced from other test files
## Decide based on the package version number whether this is a CRAN version
if (length(strsplit(packageDescription("tramME")$Version, "\\.")[[1]]) > 3) {
Sys.setenv("NOT_CRAN" = "true")
}
..sumfail <- 0
chkeq <- function(x, y, ..., chkdiff = FALSE) {
fail <- !isTRUE(all.equal(x, y, ...))
if (chkdiff) {
fail <- !fail
msg <- "The arguments are not different."
} else msg <- "The arguments are not equal."
fail_action(fail, match.call(), msg = msg)
}
chkid <- function(x, y, ..., chkdiff = FALSE) {
fail <- !isTRUE(identical(x, y, ...))
if (chkdiff) {
fail <- !fail
msg <- "The arguments are not different."
} else msg <- "The arguments are not identical."
fail_action(fail, match.call(), msg = msg)
}
chkerr <- function(expr, em = NULL) {
fail <- tryCatch({expr; 1L},
error = function(e) {
if (!is.null(em) && !grepl(em, e)) return(2L)
else return(0L)
}
)
msg <- if (fail < 2L) "No error was raised."
else "Error message doesn't match."
fail_action(fail > 0L, match.call(), msg = msg)
}
chkwarn <- function(expr, wm = NULL) {
fail <- tryCatch({expr; 1L},
warning = function(w) {
if (!is.null(wm) && !grepl(wm, w)) return(2L)
else return(0L)
})
msg <- if (fail < 2L) "No warning was raised."
else "Warning message doesn't match."
fail_action(fail > 0L, match.call(), msg = msg)
}
fail_action <- function(fail, call,
raise_error = identical(Sys.getenv("NOT_CRAN"), "true"),
msg = NULL) {
if (fail) {
message("\n==== TEST FAILED: ========\n",
"\t", deparse(call), "\n",
if (length(msg)) paste0(msg, "\n") ,
"==========================\n")
if (raise_error) {
msg <- if (!is.null(msg)) paste0(": ", msg) else "!"
stop(paste0("Test failed", msg))
}
if (exists("..sumfail")) ..sumfail <<- ..sumfail + 1
return(invisible(FALSE))
}
invisible(TRUE)
}
summarize_tests <- function() {
if (exists("..sumfail"))
message("==========================\n",
"Number of failed tests: ", ..sumfail,"\n",
"==========================")
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.