diff --git a/R/Terminator.R b/R/Terminator.R index c439d829..f847c9c6 100644 --- a/R/Terminator.R +++ b/R/Terminator.R @@ -96,6 +96,7 @@ Terminator = R6Class("Terminator", #' time-based, the reaming runtime is `Inf`. #' @return `integer(1)`. remaining_time = function(archive) { + assert_r6(archive, "Archive") if (isTRUE(self$unit == "seconds")) { status = self$status(archive) unname(status["max_steps"] - status["current_steps"]) diff --git a/R/TerminatorClockTime.R b/R/TerminatorClockTime.R index 37cf0554..25d6aa3b 100644 --- a/R/TerminatorClockTime.R +++ b/R/TerminatorClockTime.R @@ -43,6 +43,7 @@ TerminatorClockTime = R6Class("TerminatorClockTime", #' otherwise. #' @return `logical(1)`. is_terminated = function(archive) { + assert_r6(archive, "Archive") return(Sys.time() >= self$param_set$values$stop_time) } ), diff --git a/R/TerminatorCombo.R b/R/TerminatorCombo.R index a407d6c5..f1acbf1f 100644 --- a/R/TerminatorCombo.R +++ b/R/TerminatorCombo.R @@ -56,6 +56,7 @@ TerminatorCombo = R6Class("TerminatorCombo", #' #' @return `logical(1)`. is_terminated = function(archive) { + assert_r6(archive, "Archive") g = if (self$param_set$values$any) any else all g(map_lgl(self$terminators, function(t) t$is_terminated(archive))) }, @@ -77,6 +78,7 @@ TerminatorCombo = R6Class("TerminatorCombo", #' the the remaining runtime is always `Inf`. #' @return `integer(1)`. remaining_time = function(archive) { + assert_r6(archive, "Archive") min_max = if(self$param_set$values$any) min else max min_max(map_dbl(self$terminators, function(t) t$remaining_time(archive)), na.rm = TRUE) }, @@ -85,6 +87,7 @@ TerminatorCombo = R6Class("TerminatorCombo", #' Returns `max_steps` and `current_steps` for each terminator. #' @return [data.table::data.table]. status_long = function(archive) { + assert_r6(archive, "Archive") map_dtr(self$terminators, function(t) { cbind(as.data.table(as.list(t$status(archive))), unit = t$unit) }) diff --git a/R/TerminatorEvals.R b/R/TerminatorEvals.R index f78c9d20..05d4f78a 100644 --- a/R/TerminatorEvals.R +++ b/R/TerminatorEvals.R @@ -41,6 +41,7 @@ TerminatorEvals = R6Class("TerminatorEvals", #' otherwise. #' @return `logical(1)`. is_terminated = function(archive) { + assert_r6(archive, "Archive") archive$n_evals >= self$param_set$values$n_evals } ), diff --git a/R/TerminatorNone.R b/R/TerminatorNone.R index ac763040..df9a4eb7 100644 --- a/R/TerminatorNone.R +++ b/R/TerminatorNone.R @@ -30,6 +30,7 @@ TerminatorNone = R6Class("TerminatorNone", #' @param archive ([Archive]). #' @return `logical(1)`. is_terminated = function(archive) { + assert_r6(archive, "Archive") return(FALSE) } ) diff --git a/R/TerminatorPerfReached.R b/R/TerminatorPerfReached.R index 4a819e36..41811e40 100644 --- a/R/TerminatorPerfReached.R +++ b/R/TerminatorPerfReached.R @@ -42,6 +42,7 @@ TerminatorPerfReached = R6Class("TerminatorPerfReached", #' otherwise. #' @return `logical(1)`. is_terminated = function(archive) { + assert_r6(archive, "Archive") level = self$param_set$values$level ycol = archive$cols_y minimize = "minimize" %in% archive$codomain$tags diff --git a/R/TerminatorRunTime.R b/R/TerminatorRunTime.R index 803689f4..9048b16d 100644 --- a/R/TerminatorRunTime.R +++ b/R/TerminatorRunTime.R @@ -44,6 +44,7 @@ TerminatorRunTime = R6Class("TerminatorRunTime", #' otherwise. #' @return `logical(1)`. is_terminated = function(archive) { + assert_r6(archive, "Archive") if(is.null(archive$start_time)) return(FALSE) d = as.numeric(difftime(Sys.time(), archive$start_time), units = "secs") return(d >= self$param_set$values$secs) diff --git a/R/TerminatorStagnation.R b/R/TerminatorStagnation.R index c4dee9fa..f5068a2e 100644 --- a/R/TerminatorStagnation.R +++ b/R/TerminatorStagnation.R @@ -46,7 +46,7 @@ TerminatorStagnation = R6Class("TerminatorStagnation", #' otherwise. #' @return `logical(1)`. is_terminated = function(archive) { - + assert_r6(archive, "Archive") pv = self$param_set$values iters = pv$iters ycol = archive$cols_y diff --git a/R/TerminatorStagnationBatch.R b/R/TerminatorStagnationBatch.R index e88300c2..188102df 100644 --- a/R/TerminatorStagnationBatch.R +++ b/R/TerminatorStagnationBatch.R @@ -46,7 +46,7 @@ TerminatorStagnationBatch = R6Class("TerminatorStagnationBatch", #' otherwise. #' @return `logical(1)`. is_terminated = function(archive) { - + assert_r6(archive, "Archive") pv = self$param_set$values ycol = archive$cols_y present_batch = archive$n_batch