From bc3d576d77f1fb0cc55b26ca514a7a7376d5a24c Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@inrae.fr> Date: Thu, 24 Jun 2021 16:43:01 +0200 Subject: [PATCH] fix(CreateInputsCrit_DeLavenne): inapropriate error message for wrong length of parameter AprParam Refs #"111 --- R/CreateInputsCrit_DeLavenne.R | 4 ++++ tests/testthat/test-CreateInputsCrit_DeLavenne.R | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/R/CreateInputsCrit_DeLavenne.R b/R/CreateInputsCrit_DeLavenne.R index 59027057..92f1ea4d 100644 --- a/R/CreateInputsCrit_DeLavenne.R +++ b/R/CreateInputsCrit_DeLavenne.R @@ -26,6 +26,10 @@ CreateInputsCrit_DeLavenne <- function(FUN_CRIT = ErrorCrit_KGE, if (!is.null(epsilon) && !is.numeric(epsilon)) { stop("'epsilon' must be numeric") } + if (!is.numeric(AprParamR) || length(AprParamR) != RunOptions$FeatFUN_MOD$NbParam) { + stop("'AprParamR' must be a numeric vector of length ", + RunOptions$FeatFUN_MOD$NbParam) + } FUN_TRANSFO <- .FunTransfo(RunOptions$FeatFUN_MOD) diff --git a/tests/testthat/test-CreateInputsCrit_DeLavenne.R b/tests/testthat/test-CreateInputsCrit_DeLavenne.R index bd7752d4..8aa40e49 100644 --- a/tests/testthat/test-CreateInputsCrit_DeLavenne.R +++ b/tests/testthat/test-CreateInputsCrit_DeLavenne.R @@ -38,3 +38,14 @@ test_that("should return KGE*(1-k)+k with parameters matching a priori parameter ErrorCrit(IC_DL, OutputsModel)$CritValue) }) +test_that("should return proper error if mismatch number of parameters", { + expect_error( + CreateInputsCrit_DeLavenne(FUN_CRIT = ErrorCrit_KGE, + InputsModel = InputsModel, + RunOptions = RunOptions, + Obs = BasinObs$Qmm[Ind_Run], + AprParamR = Param[-1], + k = k), + regex = "'AprParamR' must be a numeric vector of length 4" + ) +}) -- GitLab