# setwd("C:/prj/campsismod/")
# roxygen2::roxygenise()
# setwd("C:/prj/campsismod/tests/")
# testFolder <<- "C:/prj/campsismod/tests/testthat/"
testFolder <- ""
overwriteNonRegressionFiles <- FALSE
toFile <- function(code, path) {
fileConn <- file(path)
writeLines(code, fileConn)
close(fileConn)
}
campsisNonRegPath <- function(regFilename) {
return(paste0(testFolder, "non_regression/campsis/", regFilename))
}
mrgsolveNonRegPath <- function(regFilename) {
return(paste0(testFolder, "non_regression/mrgsolve/", regFilename, ".txt"))
}
rxodeNonRegPath <- function(regFilename) {
return(paste0(testFolder, "non_regression/rxode/", regFilename, ".txt"))
}
campsisNonRegTest <- function(model, regFilename) {
if (overwriteNonRegressionFiles) {
model %>% write(file=campsisNonRegPath(regFilename))
}
expectedModel <- read.campsis(file=campsisNonRegPath(regFilename))
expect_equal(model, expectedModel)
}
mrgsolveNonRegTest <- function(mrgmod, regFilename) {
mrgmodCode <- mrgmod %>% toString()
if (overwriteNonRegressionFiles) {
toFile(mrgmodCode, mrgsolveNonRegPath(regFilename))
}
expectedMrgmodCode <- readLines(con=mrgsolveNonRegPath(regFilename)) %>% paste0(collapse="\n")
expect_equal(mrgmodCode, expectedMrgmodCode)
}
rxodeNonRegTest <- function(rxmod, regFilename) {
rxmodCode <- rxmod@code %>% paste0(collapse="\n")
if (overwriteNonRegressionFiles) {
toFile(rxmodCode, rxodeNonRegPath(regFilename))
}
expectedRxmodCode <- readLines(con=rxodeNonRegPath(regFilename)) %>% paste0(collapse="\n")
expect_equal(rxmodCode, expectedRxmodCode)
}
readCampsisModelNoParams <- function(file) {
# Only first warning is actually checked
model <- expect_warning(read.campsis(file),
regexp="No file '(theta|omega|sigma)\\.csv' could be found")
return(model)
}
onCran <- function() {
# Copied from testthat:::on_cran()
return(!interactive() && !envVarIsTrue("NOT_CRAN"))
}
envVarIsTrue <- function(x) {
return(isTRUE(as.logical(Sys.getenv(x, "false"))))
}
skipTests <- function(name, default) {
option <- getCampsismodOption()
if (is.null(option)) {
return(default)
} else {
value <- option[[name]]
if (is.null(value)) {
return(default)
} else {
return(value)
}
}
}
skipPerformanceTests <- function() {
# On CRAN, default value is TRUE
# FALSE otherwise
return(skipTests(name="SKIP_PERFORMANCE_TESTS", default=onCran()))
}
getCampsismodOption <- function() {
return(getOption("campsismod.options"))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.