test_that("regular usage", { wflow_param <- parameters( list( "disp" = spline_degree(range = c(1, 15)), "lambda" = penalty(), mixture(range = c(0.05, 1)) ) ) expect_equal(extract_parameter_dials(wflow_param, "lambda"), penalty()) expect_equal( extract_parameter_dials(wflow_param, "mixture"), mixture(c(0.05, 1)) ) expect_equal( extract_parameter_dials(wflow_param, "disp"), spline_degree(c(1, 15)) ) }) test_that("bad arguments", { mod_param <- parameters(list( "lambda" = penalty(), mixture(range = c(0.05, 1)) )) expect_snapshot(error = TRUE, extract_parameter_dials(mod_param, "lambdas")) expect_snapshot(error = TRUE, extract_parameter_dials(mod_param)) expect_snapshot(error = TRUE, extract_parameter_dials(mod_param, 1)) expect_snapshot(error = TRUE, extract_parameter_dials(mod_param, 1:2)) expect_snapshot( error = TRUE, extract_parameter_dials(mod_param, letters[1:2]) ) expect_snapshot( error = TRUE, extract_parameter_dials(mod_param, NA_character_) ) expect_snapshot(error = TRUE, extract_parameter_dials(mod_param, "")) })