R/assertions.R

Defines functions assert_tuning_instance_batch assert_tuning_instance_async assert_tuning_instance assert_tuner_batch assert_tuner_async assert_tuners assert_tuner

Documented in assert_tuner assert_tuner_async assert_tuner_batch assert_tuners assert_tuning_instance assert_tuning_instance_async assert_tuning_instance_batch

#' @title Assertion for mlr3tuning objects
#'
#' @description
#' Most assertion functions ensure the right class attribute, and optionally additional properties.
#'
#' @name mlr3tuning_assertions
#' @keywords internal
NULL

#' @export
#' @param tuner ([Tuner]).
#' @rdname mlr3tuning_assertions
assert_tuner = function(tuner) {
  assert_r6(tuner, "Tuner")
}

#' @export
#' @param tuners (list of [Tuner]).
#' @rdname mlr3tuning_assertions
assert_tuners = function(tuners) {
  invisible(lapply(tuners, assert_tuner))
}

#' @export
#' @param tuner ([TunerAsync]).
#' @rdname mlr3tuning_assertions
assert_tuner_async = function(tuner) {
  assert_r6(tuner, "TunerAsync")
}

#' @export
#' @param tuner ([TunerBatch]).
#' @rdname mlr3tuning_assertions
assert_tuner_batch = function(tuner) {
  assert_r6(tuner, "TunerBatch")
}

#' @export
#' @param inst ([TuningInstanceBatchSingleCrit] | [TuningInstanceBatchMultiCrit] |
#'   [TuningInstanceAsyncSingleCrit] | [TuningInstanceAsyncMultiCrit]).
#' @rdname mlr3tuning_assertions
assert_tuning_instance = function(inst) {
  assert_multi_class(
    inst,
    c(
      "TuningInstanceBatchSingleCrit",
      "TuningInstanceBatchMultiCrit",
      "TuningInstanceAsyncSingleCrit",
      "TuningInstanceAsyncMultiCrit"
    )
  )
}

#' @export
#' @param inst ([TuningInstanceAsyncSingleCrit] | [TuningInstanceAsyncMultiCrit]).
#' @rdname mlr3tuning_assertions
assert_tuning_instance_async = function(inst) {
  assert_multi_class(
    inst,
    c(
      "TuningInstanceAsyncSingleCrit",
      "TuningInstanceAsyncMultiCrit"
    )
  )
}

#' @export
#' @param inst ([TuningInstanceBatchSingleCrit] | [TuningInstanceBatchMultiCrit]).
#' @rdname mlr3tuning_assertions
assert_tuning_instance_batch = function(inst) {
  assert_multi_class(
    inst,
    c(
      "TuningInstanceBatchSingleCrit",
      "TuningInstanceBatchMultiCrit"
    )
  )
}

Try the mlr3tuning package in your browser

Any scripts or data that you put into this service are public.

mlr3tuning documentation built on Sept. 2, 2026, 5:08 p.m.