test_that("updateParVals works", {
# simple dependency
pa = list(a = 1, b = 2, d = 4, e = 5)
pb = list(a = 0, c = 3)
ps = makeParamSet(
makeIntegerParam("a"),
makeIntegerParam("b", requires = quote(a == 1)),
makeIntegerParam("c"),
makeIntegerParam("d"),
makeIntegerParam("e", requires = quote(f == TRUE)),
makeLogicalParam("f", default = TRUE))
pc = updateParVals(ps, pa, pb)
expect_equal(pc, list(a = 0, c = 3, d = 4, e = 5))
expect_warning(expect_warning(updateParVals(ps, pa, pb, warn = TRUE), "ParamSetting b=2"), "ParamSetting b=2")
pb2 = list(a = 0, f = FALSE)
pc2 = updateParVals(ps, pa, pb2)
expect_equal(pc2, list(a = 0, f = FALSE, d = 4))
# sanity
expect_equal(updateParVals(ps, pa, list()), pa)
expect_equal(updateParVals(ps, list(), pb), pb)
# chained dependency
pa = list(a = 1, b = 2, c = 0.5, d = 4)
pb = list(a = -3)
ps = makeParamSet(
makeIntegerParam("a", requires = quote(e == TRUE)),
makeIntegerParam("b", requires = quote(a == 1)),
makeNumericParam("c"),
makeIntegerParam("d", requires = quote(b == 2)),
makeLogicalParam("e", default = TRUE))
pc = updateParVals(ps, pa, pb)
expect_equal(pc, list(a = -3, c = 0.5))
# chained dependency with defaults #maybe redundanant with pc2?
ps = makeParamSet(
makeIntegerParam("a", default = 1L, requires = quote(b == 2)),
makeIntegerParam("b", default = 2L, requires = quote(c == TRUE)),
makeLogicalParam("c", default = TRUE))
pa = list(a = 1, b = 2, c = TRUE)
pb = list(b = 3)
pc = updateParVals(ps, pa, pb)
expect_equal(pc, list(b = 3, c = TRUE))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.