# v710----
## Thermal ----
test_that("test read cluster", {
path_study_test <- studyPathS
opts_study_test <- setSimulationPath(path_study_test, simulation = "input")
# read clusters informations
input <- readClusterDesc()
# object returned is one line per area/cluster
testthat::expect_equal(nrow(input), nrow(unique(input)))
# function setSimulationPath() provide areas names
areas <- opts_study_test$areasWithClusters
# internal properties referential
# thermal only for v710
ref_thermal <- antaresRead:::pkgEnv$inputProperties[
Category%in%"thermal"]
ref_thermal <- ref_thermal[Version.Antares <=
opts_study_test$antaresVersion |
Version.Antares %in% NA]
### Properties output format ----
test_that("Operating format (default)", {
# read clusters informations
input <- readClusterDesc()
# test character "-" not exists
testthat::expect_true(
identical(grep(pattern = "-", x = names(input)),
integer(0)))
# "-" is replaced by "."
testthat::expect_true("min.stable.power" %in% names(input))
})
test_that("Antares format", {
# read clusters informations
input <- readClusterDesc(dot_format = FALSE)
# test character "-" exists
testthat::expect_true(
any(grepl(pattern = "-", x = names(input))))
})
### function return value ----
test_that("That's function return", {
# read clusters informations
input <- readClusterDesc()
# tests
testthat::expect_true("data.table" %in% class(input))
testthat::expect_true(all(areas %in% unique(input$area)))
testthat::expect_equal(class(input$cluster), "factor")
})
### Default values ----
# Default properties read (using referential)
# it's independent of the format of column names
test_that("All value must be display according to study version", {
# read clusters informations
input <- readClusterDesc()
# "name" in .ini file corresponding "cluster" in output
testthat::expect_true(all(
setdiff(ref_thermal$operating_format, "name")%in%
setdiff(colnames(input), c("area", "cluster"))))
})
### Read properties ----
test_that("Test properties read from .ini", {
# read clusters informations
# need .ini format
input <- readClusterDesc(dot_format = FALSE)
area_test <- getAreas()[1]
cluster_target <- "BASE"
file_propertie_path <- file.path(opts_study_test$inputPath,
"thermal",
"clusters",
area_test,
"list.ini")
list_properties <- readIniFile(file_propertie_path)
list_properties <- list_properties[[cluster_target]]
# select taget values
one_line_select <- input[area%in%area_test & cluster%in%tolower(cluster_target)]
# test .ini values
# special case on "cluster" (tolower + as.factor) corresponding to "name" in .ini
testthat::expect_equal(
tolower(list_properties$name),
as.character(one_line_select$cluster))
# some numerical values
testthat::expect_equal(list_properties$`marginal-cost`, one_line_select$`marginal-cost`)
testthat::expect_equal(list_properties$co2, one_line_select$co2)
})
# object returned is one line per area/cluster
testthat::expect_equal(nrow(input), nrow(unique(input)))
test_that("colnames ordered", {
# id_cols is already sorted but it could be not
id_cols <- c("area", "cluster", "group")
input <- readClusterDesc(dot_format = FALSE)
expect_false(is.unsorted(setdiff(names(input), id_cols)))
})
})
# v830 ----
## Renewables ----
# NOTE : only tests on renewable part
test_that("test read cluster renewables", {
path_study_test <- grep(pattern = "test_case_study_v870",
x = studyPathSV8, value = TRUE)
opts_study_test <- setSimulationPath(path_study_test, simulation = "input")
# read clusters informations
input <- readClusterResDesc()
# object returned is one line per area/cluster
testthat::expect_equal(nrow(input), nrow(unique(input)))
# function setSimulationPath() provide areas names with st-storage clusters
areas_res <- opts_study_test$areasWithResClusters
# tests if all colnames are returned according to ref
ref_res <- antaresRead:::pkgEnv$inputProperties[
Category%in%"renewable"]
ref_res <- ref_res[Version.Antares <=
opts_study_test$antaresVersion |
Version.Antares %in% NA]
### Properties output format ----
test_that("Operating format (default)", {
# read clusters informations
input <- readClusterResDesc()
# test character "-" not exists
testthat::expect_true(
identical(grep(pattern = "-", x = names(input)),
integer(0)))
# "-" is replaced by "."
testthat::expect_true("ts.interpretation" %in% names(input))
})
test_that("Antares format", {
# read clusters informations
input <- readClusterResDesc(dot_format = FALSE)
# test character "-" exists
testthat::expect_true(
any(grepl(pattern = "-", x = names(input))))
})
### function return value ----
test_that("That's function return", {
# read clusters informations
input <- readClusterResDesc()
# tests
testthat::expect_true("data.table" %in% class(input))
testthat::expect_true(all(areas_res %in% unique(input$area)))
testthat::expect_equal(class(input$cluster), "factor")
})
### Default values ----
# Default properties read (using referential)
# it's independent of the format of column names
test_that("All value must be display according to study version", {
# read clusters informations
input <- readClusterResDesc()
# "name" in .ini file corresponding "cluster" in output
testthat::expect_true(all(
setdiff(ref_res$operating_format, "name")%in%
setdiff(colnames(input), c("area", "cluster"))))
})
### Read properties ----
test_that("Test properties read from .ini", {
# read clusters informations
# need .ini format
input <- readClusterResDesc(dot_format = FALSE)
area_test <- areas_res[1]
cluster_target <- "at_res_1"
file_propertie_path <- file.path(opts_study_test$inputPath,
"renewables",
"clusters",
area_test,
"list.ini")
list_properties <- readIniFile(file_propertie_path)
list_properties <- list_properties[[cluster_target]]
# select taget values
one_line_select <- input[area%in%area_test & cluster%in%tolower(cluster_target)]
# test .ini values
# some numerical values
testthat::expect_equal(list_properties$nominalcapacity, one_line_select$nominalcapacity)
testthat::expect_equal(list_properties$`ts-interpretation`, one_line_select$`ts-interpretation`)
})
# object returned is one line per area/cluster
testthat::expect_equal(nrow(input), nrow(unique(input)))
test_that("colnames ordered", {
# id_cols is already sorted but it could be not
id_cols <- c("area", "cluster", "group")
input <- readClusterResDesc(dot_format = FALSE)
expect_false(is.unsorted(setdiff(names(input), id_cols)))
})
})
# v860 ----
## st-storage ----
test_that("test read cluster st-storage v860", {
path_study_test <- grep(pattern = "test_case_study_v870",
x = studyPathSV8, value = TRUE)
opts_study_test <- setSimulationPath(path_study_test, simulation = "input")
# read clusters informations
input <- readClusterSTDesc()
# object returned is one line per area/cluster
testthat::expect_equal(nrow(input), nrow(unique(input)))
# function setSimulationPath() provide areas names with st-storage clusters
areas_st <- opts_study_test$areasWithSTClusters
# tests if all colnames are returned according to ref
ref_st <- antaresRead:::pkgEnv$inputProperties[
Category%in%"storage"]
ref_st <- ref_st[ Version.Antares <=
opts_study_test$antaresVersion |
Version.Antares %in% NA]
### Properties output format ----
test_that("Operating format (default)", {
# read clusters informations
input <- readClusterSTDesc()
# test character "-" not exists
testthat::expect_true(
identical(grep(pattern = "-", x = names(input)),
integer(0)))
})
test_that("Antares format", {
# read clusters informations
input <- readClusterSTDesc(dot_format = FALSE)
# test character "-" exists (actualy not in st-storages)
testthat::expect_false(
any(grepl(pattern = "-", x = names(input))))
})
### function return value ----
test_that("That's function return", {
# read clusters informations
input <- readClusterSTDesc()
# tests
testthat::expect_true("data.table" %in% class(input))
testthat::expect_true(all(areas_st %in% unique(input$area)))
testthat::expect_equal(class(input$cluster), "factor")
})
### Default values ----
# Default properties read (using referential)
# it's independent of the format of column names
test_that("All value must be display according to study version", {
# read clusters informations
input <- readClusterSTDesc()
# "name" in .ini file corresponding "cluster" in output
testthat::expect_true(all(
setdiff(ref_st$operating_format, "name")%in%
setdiff(colnames(input), c("area", "cluster"))))
})
### Read properties ----
test_that("Test properties read from .ini", {
# read clusters informations
# need .ini format
input <- readClusterSTDesc(dot_format = FALSE)
area_test <- areas_st[1]
cluster_target <- "at_st_batt"
file_propertie_path <- file.path(opts_study_test$inputPath,
"st-storage",
"clusters",
area_test,
"list.ini")
list_properties <- readIniFile(file_propertie_path)
list_properties <- list_properties[[cluster_target]]
# select taget values
one_line_select <- input[area%in%area_test & cluster%in%tolower(cluster_target)]
# test .ini values
# some numerical values
testthat::expect_equal(list_properties$reservoircapacity, one_line_select$reservoircapacity)
testthat::expect_equal(list_properties$efficiency, one_line_select$efficiency)
})
test_that("colnames ordered", {
# id_cols is already sorted but it could be not
id_cols <- c("area", "cluster", "group")
input <- readClusterDesc(dot_format = FALSE)
expect_false(is.unsorted(setdiff(names(input), id_cols)))
})
})
# read empty study ----
test_that("test when study has no cluster (empty)", {
path_empty_study <- setup_study_empty(sourcedir_empty_study)
opts_study_test <- setSimulationPath(path_empty_study, simulation = "input")
testthat::expect_equal(readClusterDesc(),
data.table::data.table())
})
# v920 ----
# st-storage ----
# mock study
areas <- c("fr", "be")
opts <- list(
"inputPath" = tempdir(),
"typeLoad"= "txt",
"areaList" = areas,
"antaresVersion" = 920
)
# properties
fr <- c(
paste0("[",
areas[1], "_", "myClust",
"]"),
"name = fr_myClust",
"group = Battery",
"penalize-variation-injection = false")
be <- c(
paste0("[",
areas[2], "_", "myClust",
"]"),
"name = be_myClust",
"group = Battery",
"efficiencywithdrawal = 0.5")
list_properties <- list(fr, be)
# create dir with properties
dir_path <- file.path(tempdir(), "st-storage", "clusters", areas)
lapply(dir_path, dir.create, recursive = TRUE, showWarnings = FALSE)
# write properties
lapply(1:2, function(x){
writeLines(list_properties[[x]],
file.path(dir_path[x], "list.ini"))
})
## Properties output format ----
test_that("Operating format (default)", {
# read clusters informations
input <- readClusterSTDesc(opts = opts)
# test character "-" not exists
testthat::expect_true(
identical(grep(pattern = "-", x = names(input)),
integer(0)))
})
test_that("Antares format", {
# read clusters informations
input <- readClusterSTDesc(dot_format = FALSE, opts = opts)
# test character "-" exists
testthat::expect_true(
any(grepl(pattern = "-", x = names(input))))
})
# Read properties ----
test_that("Test properties read from .ini", {
# character "-" is available in .ini files
input <- readClusterSTDesc(dot_format = FALSE, opts = opts)
area_test <- areas[1]
cluster_target <- "fr_myClust"
file_propertie_path <- file.path(opts$inputPath,
"st-storage",
"clusters",
area_test,
"list.ini")
list_properties <- readIniFile(file_propertie_path)
list_properties <- list_properties[[cluster_target]]
# select taget values
one_line_select <- input[area%in%area_test &
cluster%in%tolower(cluster_target)]
# test .ini values
# some numerical values
testthat::expect_equal(list_properties$`penalize-variation-injection`,
one_line_select$`penalize-variation-injection`)
test_that("colnames ordered", {
# id_cols is already sorted but it could be not
id_cols <- c("area", "cluster", "group")
input <- readClusterDesc(dot_format = FALSE)
expect_false(is.unsorted(setdiff(names(input), id_cols)))
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.