From 1934ac3ee1d365401324fc4e76e64c07bac3738d Mon Sep 17 00:00:00 2001 From: Hannah Frick Date: Tue, 24 Feb 2026 14:42:45 +0000 Subject: [PATCH] add test on NA behavior --- R/parameters.R | 2 +- tests/testthat/test-parameters.R | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/R/parameters.R b/R/parameters.R index 6cca62e7..03e03a65 100644 --- a/R/parameters.R +++ b/R/parameters.R @@ -67,7 +67,7 @@ parameters.list <- function(x, ...) { } param_or_na <- function(x) { - inherits(x, "param") | all(is.na(x)) + inherits(x, "param") || all(is.na(x)) } check_list_of_param <- function(x, ..., call = caller_env()) { diff --git a/tests/testthat/test-parameters.R b/tests/testthat/test-parameters.R index 1a0ccd46..aef44ab1 100644 --- a/tests/testthat/test-parameters.R +++ b/tests/testthat/test-parameters.R @@ -31,6 +31,15 @@ test_that("parameters_constr() input checks", { }) }) +test_that("parameters_constr() allows NA instead of param object", { + ab <- c("a", "b") + expect_no_condition( + p <- parameters_constr(ab, ab, ab, ab, ab, object = list(penalty(), NA)) + ) + expect_s3_class_parameters(p) + expect_true(is.na(p$object[[2]])) +}) + test_that("create from param objects", { expect_no_condition(p_1 <- parameters(mtry(), penalty())) expect_s3_class_parameters(p_1)