From 80a52a3849f337c60494ca35ae451f4a5ad2d449 Mon Sep 17 00:00:00 2001 From: Delaigue Olivier <olivier.delaigue@irstea.fr> Date: Mon, 29 Mar 2021 11:58:04 +0200 Subject: [PATCH] refactor: check DatesR before using .GetFeatModel CreateInputsModel Refs #106 --- R/CreateInputsModel.R | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/R/CreateInputsModel.R b/R/CreateInputsModel.R index 914d61f6..4fba2e85 100644 --- a/R/CreateInputsModel.R +++ b/R/CreateInputsModel.R @@ -10,29 +10,29 @@ CreateInputsModel <- function(FUN_MOD, ObjectClass <- NULL - FUN_MOD <- match.fun(FUN_MOD) + ## check DatesR + if (is.null(DatesR)) { + stop("'DatesR' is missing") + } + if (!"POSIXlt" %in% class(DatesR) & !"POSIXct" %in% class(DatesR)) { + stop("'DatesR' must be defined as 'POSIXlt' or 'POSIXct'") + } + if (!"POSIXlt" %in% class(DatesR)) { + DatesR <- as.POSIXlt(DatesR) + } + if (any(duplicated(DatesR))) { + stop("'DatesR' must not include duplicated values") + } + LLL <- length(DatesR) - ##check_FUN_MOD + ## check FUN_MOD + FUN_MOD <- match.fun(FUN_MOD) FeatFUN_MOD <- .GetFeatModel(FUN_MOD = FUN_MOD, DatesR = DatesR) ObjectClass <- FeatFUN_MOD$Class ##check_arguments - if ("GR" %in% ObjectClass | "CemaNeige" %in% ObjectClass) { - if (is.null(DatesR)) { - stop("'DatesR' is missing") - } - if (!"POSIXlt" %in% class(DatesR) & !"POSIXct" %in% class(DatesR)) { - stop("'DatesR' must be defined as 'POSIXlt' or 'POSIXct'") - } - if (!"POSIXlt" %in% class(DatesR)) { - DatesR <- as.POSIXlt(DatesR) - } - if (any(duplicated(DatesR))) { - stop("'DatesR' must not include duplicated values") - } - LLL <- length(DatesR) - } + if ("GR" %in% ObjectClass) { if (is.null(Precip)) { stop("Precip is missing") -- GitLab