Nothing
context("bindingConstraints")
# >= v710 ----
opts <- setSimulationPath(studyPathS, 0)
test_that("returns an object of class 'bindingConstraints'", {
constraints <- readBindingConstraints(opts)
expect_is(constraints, "bindingConstraints")
})
test_that("summary.bindingConstraints",{
constraints <- readBindingConstraints(opts)
sumConstraints <- summary(constraints)
expect_is(sumConstraints, "data.frame")
expect_true(all(c("enabled", "timeStep", "equation") %in%
names(sumConstraints)))
})
test_that("Both operator",{
constraints <- readBindingConstraints(opts)
constraints[[1]]$properties$operator <- "both"
sumConstraints <- summary(constraints)
expect_is(sumConstraints, "data.frame")
expect_true(all(c("enabled", "timeStep", "equation") %in%
names(sumConstraints)))
})
# >= v800 ----
opts <- antaresRead::setSimulationPath(studyPathSV8[1], "input")
test_that("test if exist data value file", {
bc <- antaresRead::readBindingConstraints(opts = opts)
# test class object return
testthat::expect_equal(class(bc), "bindingConstraints")
names_bc_test <- paste0(names(bc), ".txt")
path_test_bc <- paste0(file.path(opts$inputPath, "bindingconstraints",
names_bc_test))
# test if values files exists
testthat::expect_true(all(unlist(lapply(path_test_bc, file.exists))))
})
# >= v870 ----
# read latest version of empty study
setup_study_empty(sourcedir_empty_study)
opts_test_empty <- antaresRead::setSimulationPath(study_empty_latest_version,
"input")
# read latest version study
path_study_test <- grep(pattern = "87", x = studyPathSV8, value = TRUE)
opts_study_test <- setSimulationPath(path_study_test, simulation = "input")
## empty study test ----
test_that("Read scenarised BC with empty study", {
bc <- readBindingConstraints(opts = opts_test_empty)
# test exception
testthat::expect_equal(bc, NULL)
})
## test object structure ----
test_that("test object structure", {
bc <- readBindingConstraints(opts = opts_study_test)
# test class object
testthat::expect_equal(class(bc), "bindingConstraints")
# test structure object
# every BC must have 3 named elements
nb_items <- unlist(lapply(bc, length))
testthat::expect_true(all(nb_items %in% 3))
# every BC must be named
names_items <- unlist(lapply(bc, names))
testthat::expect_true(all(names_items
%in% c("properties", "coefs", "values")))
})
# test values / operator ----
test_that("data verification based on the 'operator' property", {
bc <- readBindingConstraints(opts = opts_study_test)
# test values
# one or two txt files are associated with one BC
# only "both" values have two .txt files
bc_prop <- lapply(bc, `[[`, "properties")
bc_id <- lapply(bc_prop, `[[`, "id")
bc_operator <- lapply(bc_prop, `[[`, "operator")
# list all values
path_bc_values <- file.path(opts_study_test$inputPath,
"bindingconstraints")
list_values_bc <- list.files(path = path_bc_values, pattern = ".txt")
# test "less" (one file must be present)
index <- bc_operator %in% "less"
id_bc <- names(bc_operator[index])
nb_file_present <- length(grep(pattern = id_bc,
x = list_values_bc))
testthat::expect_true(nb_file_present %in% 1)
# test "greater" (one file must be present)
index <- bc_operator %in% "greater"
id_bc <- names(bc_operator[index])
nb_file_present <- length(grep(pattern = id_bc,
x = list_values_bc))
testthat::expect_true(nb_file_present %in% 1)
# test "equal" (one file must be present)
index <- bc_operator %in% "equal"
id_bc <- names(bc_operator[index])
nb_file_present <- length(grep(pattern = id_bc,
x = list_values_bc))
testthat::expect_true(nb_file_present %in% 1)
# test "both" (two file must be present)
index <- bc_operator %in% "both"
id_bc <- names(bc_operator[index])
nb_file_present <- length(grep(pattern = id_bc,
x = list_values_bc))
testthat::expect_true(nb_file_present %in% 2)
})
## test default values ----
test_that("test if default values are well returned", {
bc <- readBindingConstraints(opts = opts_study_test)
# if txt values files are empty, default value is returned
# check empty values files
# list all values
path_bc_values <- file.path(opts_study_test$inputPath,
"bindingconstraints")
list_path_values_bc <- list.files(path = path_bc_values,
pattern = ".txt",
full.names = TRUE)
list_values_bc <- list.files(path = path_bc_values, pattern = ".txt")
# check empty size
is_value_null <- file.size(list_path_values_bc) %in% 0
list_values_bc_null <- list_values_bc[is_value_null]
# check bindings concerned
list_null_values <- lapply(names(bc),
grepl,
x= list_values_bc_null)
is_true_null <- unlist(lapply(list_null_values,
all))
bc_default_values <- bc[is_true_null]
# two data frames are returned for "both" case
less_values_default <- bc_default_values[[names(bc_default_values)]]$values$less
testthat::expect_true(sum(less_values_default) %in% 0)
greater_values_default <- bc_default_values[[names(bc_default_values)]]$values$greater
testthat::expect_true(sum(greater_values_default) %in% 0)
# test if length of default values are ok with timestep
# daily => 364
testthat::expect_true(dim(bc_default_values[[names(bc_default_values)]]$values$greater)[1]
%in% 364)
})
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.