test_that("getDefaults", { ps = makeParamSet() expect_equal(getDefaults(ps), list()) ps = makeParamSet( makeNumericParam("u", default = 2), makeIntegerParam("v"), makeCharacterParam("s", default = "foo"), makeUntypedParam("w", default = iris) ) expect_equal(getDefaults(ps), list(u = 2, s = "foo", w = iris)) ps = makeParamSet( makeIntegerParam("v") ) expect_equal(getDefaults(ps), list()) # test include.null ps = makeParamSet( makeDiscreteParam("x", values = c("a", "b"), default = "a"), makeNumericVectorParam("y", len = 2), makeIntegerParam("z", default = 99) ) expect_equal( getDefaults(ps, include.null = TRUE), list(x = "a", y = NULL, z = 99) ) expect_equal( getDefaults(ps, include.null = FALSE), list(x = "a", z = 99) ) }) test_that("getDefaults for LearnerParams", { par.set = makeParamSet( makeDiscreteLearnerParam(id = "a", default = "a1", values = c("a1", "a2")), makeNumericLearnerParam(id = "b", default = 1, lower = 0, requires = quote(a == "a1")), makeNumericVectorLearnerParam("c", len = NA_integer_, lower = 0), makeLogicalVectorLearnerParam(id = "d", default = c(TRUE), tunable = TRUE), makeIntegerVectorLearnerParam(id = "e", default = 1:3) ) expect_equal( getDefaults(par.set, include.null = TRUE), list(a = "a1", b = 1, c = NULL, d = TRUE, e = 1:3) ) }) test_that("getDefaults for Parameters with Expressions", { par.set = makeParamSet( makeNumericLearnerParam(id = "b", default = expression(k), lower = 0, requires = quote(a == "a1")), makeNumericVectorLearnerParam("c", len = NA_integer_, lower = 0), makeLogicalVectorLearnerParam(id = "d", len = expression(p), default = TRUE, tunable = TRUE) ) expect_equal( getDefaults(par.set, dict = list(k = 4L, p = 3L)), list(b = 4L, d = rep(TRUE, 3L)) ) expect_equal( getDefaults(par.set, dict = list(k = 4L, p = 3L), include.null = TRUE), list(b = 4, c = NULL, d = rep(TRUE, 3L)) ) expect_equal(getDefaults(makeNumericParam(id = "b", default = expression(k)), dict = list(k = 4L)), 4L) par.vals = list( makeNumericLearnerParam(id = "b", default = expression(k), requires = quote(a == "a1")), makeNumericVectorLearnerParam("c", len = NA_integer_, lower = 0), makeLogicalVectorLearnerParam(id = "d", len = expression(p), default = TRUE, tunable = TRUE) ) expect_equal( getDefaults(par.vals, dict = list(k = pi, p = 7L)), list(pi, rep(TRUE, 7L)) ) })