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