getTestDataFilePath <- function(fileName = "") {
testthat::test_path("../data", fileName)
}
getSimulationFilePath <- function(simulationName) {
getTestDataFilePath(paste0(simulationName, ".pkml"))
}
# Helper function to load a model easily. In the test environment, we do not want to load from cache by default. Instead
# new instances should be created unless specifically specified otherwise
loadTestSimulation <- function(simulationName, loadFromCache = FALSE, addToCache = TRUE) {
simFile <- getSimulationFilePath(simulationName)
sim <- ospsuite::loadSimulation(simFile, loadFromCache = loadFromCache, addToCache = addToCache)
return(sim)
}
executeWithTestFile <- function(actionWithFile) {
newFile <- tempfile()
actionWithFile(newFile)
file.remove(newFile)
}
# function to extract axis range from plots
extractAxisRange <- function(p) {
pn <- names(p)
axisRanges <- purrr::map(pn, function(n) {
pbs <- purrr::map(seq_along(p[[n]]), ~ ggplot2::ggplot_build(p[[n]][[.x]]))
xRanges <- purrr::map(pbs, ~ .x$layout$panel_params[[1]]$x.range)
yRanges <- purrr::map(pbs, ~ .x$layout$panel_params[[1]]$y.range)
list(
xRange = unlist(xRanges),
yRange = unlist(yRanges)
)
})
names(axisRanges) <- pn
return(axisRanges)
}
# Helper function to extract sensitivityCalculation summary data
summarizer <- function(data, path) {
data <- dplyr::filter(data, ParameterPath %in% path)
list(
"charColumnSummary" = dplyr::select(data, where(is.character)) %>%
purrr::map_dfr(unique),
"numericColumnSummary" = dplyr::select(data, where(is.numeric)) %>%
purrr::map_df(summary, .id = "column")
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.