Skip to content

Commit 9367bf2

Browse files
committed
Apply requested changes from PR tidymodels#1108 review
- Add NULL value handling to print_control_settings function This prevents empty output for NULL values, showing them explicitly as "NULL" - Move control object print method tests from test-checks.R to test-control.R for better organization - Remove corresponding snapshots from checks.md (will be regenerated in control.md) These changes address topepo's review feedback on PR tidymodels#1108.
1 parent 562b54f commit 9367bf2

File tree

4 files changed

+35
-192
lines changed

4 files changed

+35
-192
lines changed

R/control.R

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ print_control_settings <- function(x, default = FALSE, defaults = NULL) {
9898
cli::cli_bullets(c(" " = "{.arg {field}}: <function>"))
9999
} else if (inherits(value, "tune_backend_options")) {
100100
cli::cli_bullets(c(" " = "{.arg {field}}: <backend_options>"))
101+
} else if (is.null(value)) {
102+
cli::cli_bullets(c(" " = "{.arg {field}}: NULL"))
101103
} else {
102104
cli::cli_bullets(c(" " = "{.arg {field}}: {.val {value}}"))
103105
}

tests/testthat/_snaps/checks.md

Lines changed: 0 additions & 159 deletions
Original file line numberDiff line numberDiff line change
@@ -294,165 +294,6 @@
294294
Warning:
295295
Uncertainty sample scheduled after 5 poor iterations but the search will stop after 2.
296296

297-
# control object print methods
298-
299-
Code
300-
control_grid()
301-
Message
302-
Grid/resamples control object
303-
`verbose`: FALSE
304-
`allow_par`: TRUE
305-
`extract`:
306-
`save_pred`: FALSE
307-
`pkgs`:
308-
`save_workflow`: FALSE
309-
`event_level`: "first"
310-
`parallel_over`:
311-
`backend_options`:
312-
`workflow_size`: 100
313-
314-
---
315-
316-
Code
317-
control_grid(verbose = TRUE, save_pred = TRUE)
318-
Message
319-
Grid/resamples control object
320-
`verbose`: TRUE
321-
`allow_par`: TRUE
322-
`extract`:
323-
`save_pred`: TRUE
324-
`pkgs`:
325-
`save_workflow`: FALSE
326-
`event_level`: "first"
327-
`parallel_over`:
328-
`backend_options`:
329-
`workflow_size`: 100
330-
331-
---
332-
333-
Code
334-
control_grid(pkgs = c("pkg1", "pkg2"), extract = I)
335-
Message
336-
Grid/resamples control object
337-
`verbose`: FALSE
338-
`allow_par`: TRUE
339-
`extract`: <function>
340-
`save_pred`: FALSE
341-
`pkgs`: "pkg1" and "pkg2"
342-
`save_workflow`: FALSE
343-
`event_level`: "first"
344-
`parallel_over`:
345-
`backend_options`:
346-
`workflow_size`: 100
347-
348-
---
349-
350-
Code
351-
control_bayes()
352-
Message
353-
Bayes control object
354-
`verbose`: FALSE
355-
`verbose_iter`: FALSE
356-
`allow_par`: TRUE
357-
`no_improve`: 10
358-
`uncertain`: Inf
359-
`seed`: 51663
360-
`extract`:
361-
`save_pred`: FALSE
362-
`time_limit`: NA
363-
`pkgs`:
364-
`save_workflow`: FALSE
365-
`save_gp_scoring`: FALSE
366-
`event_level`: "first"
367-
`parallel_over`:
368-
`backend_options`:
369-
`workflow_size`: 100
370-
371-
---
372-
373-
Code
374-
control_bayes(verbose_iter = TRUE, no_improve = 5, save_gp_scoring = TRUE)
375-
Message
376-
Bayes control object
377-
`verbose`: FALSE
378-
`verbose_iter`: TRUE
379-
`allow_par`: TRUE
380-
`no_improve`: 5
381-
`uncertain`: Inf
382-
`seed`: 2986
383-
`extract`:
384-
`save_pred`: FALSE
385-
`time_limit`: NA
386-
`pkgs`:
387-
`save_workflow`: FALSE
388-
`save_gp_scoring`: TRUE
389-
`event_level`: "first"
390-
`parallel_over`:
391-
`backend_options`:
392-
`workflow_size`: 100
393-
394-
---
395-
396-
Code
397-
control_last_fit()
398-
Message
399-
Last fit control object
400-
`verbose`: FALSE
401-
`allow_par`: FALSE
402-
`extract`: <function>
403-
`save_pred`: TRUE
404-
`pkgs`:
405-
`save_workflow`: FALSE
406-
`event_level`: "first"
407-
`parallel_over`:
408-
`backend_options`:
409-
`workflow_size`: 100
410-
411-
---
412-
413-
Code
414-
control_last_fit(verbose = TRUE)
415-
Message
416-
Last fit control object
417-
`verbose`: TRUE
418-
`allow_par`: FALSE
419-
`extract`: <function>
420-
`save_pred`: TRUE
421-
`pkgs`:
422-
`save_workflow`: FALSE
423-
`event_level`: "first"
424-
`parallel_over`:
425-
`backend_options`:
426-
`workflow_size`: 100
427-
428-
# control object print methods with default = TRUE
429-
430-
Code
431-
print(control_grid(verbose = TRUE, pkgs = c("pkg1", "pkg2")), default = TRUE)
432-
Message
433-
Grid/resamples control object
434-
`verbose`: TRUE
435-
`pkgs`: "pkg1" and "pkg2"
436-
437-
---
438-
439-
Code
440-
print(control_bayes(verbose_iter = TRUE, no_improve = 5), default = TRUE)
441-
Message
442-
Bayes control object
443-
`verbose_iter`: TRUE
444-
`no_improve`: 5
445-
`seed`: 13797
446-
447-
---
448-
449-
Code
450-
print(control_last_fit(verbose = TRUE), default = TRUE)
451-
Message
452-
Last fit control object
453-
`verbose`: TRUE
454-
`extract`: <function>
455-
456297
# initial values
457298

458299
Code

tests/testthat/test-checks.R

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -395,39 +395,6 @@ test_that("Bayes control objects", {
395395
expect_s3_class(control_bayes(), "control_bayes")
396396
})
397397

398-
test_that("control object print methods", {
399-
# Test control_grid print
400-
expect_snapshot(control_grid())
401-
expect_snapshot(control_grid(verbose = TRUE, save_pred = TRUE))
402-
expect_snapshot(control_grid(pkgs = c("pkg1", "pkg2"), extract = I))
403-
404-
# Test control_bayes print
405-
set.seed(123)
406-
expect_snapshot(control_bayes())
407-
expect_snapshot(control_bayes(
408-
verbose_iter = TRUE,
409-
no_improve = 5,
410-
save_gp_scoring = TRUE
411-
))
412-
413-
# Test control_last_fit print
414-
expect_snapshot(control_last_fit())
415-
expect_snapshot(control_last_fit(verbose = TRUE))
416-
})
417-
418-
test_that("control object print methods with default = TRUE", {
419-
expect_snapshot(print(
420-
control_grid(verbose = TRUE, pkgs = c("pkg1", "pkg2")),
421-
default = TRUE
422-
))
423-
set.seed(456)
424-
expect_snapshot(print(
425-
control_bayes(verbose_iter = TRUE, no_improve = 5),
426-
default = TRUE
427-
))
428-
expect_snapshot(print(control_last_fit(verbose = TRUE), default = TRUE))
429-
})
430-
431398
# ------------------------------------------------------------------------------
432399

433400
test_that("initial values", {

tests/testthat/test-control.R

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
test_that("control object print methods", {
2+
# Test control_grid print
3+
expect_snapshot(control_grid())
4+
expect_snapshot(control_grid(verbose = TRUE, save_pred = TRUE))
5+
expect_snapshot(control_grid(pkgs = c("pkg1", "pkg2"), extract = I))
6+
7+
# Test control_bayes print
8+
set.seed(123)
9+
expect_snapshot(control_bayes())
10+
expect_snapshot(control_bayes(
11+
verbose_iter = TRUE,
12+
no_improve = 5,
13+
save_gp_scoring = TRUE
14+
))
15+
16+
# Test control_last_fit print
17+
expect_snapshot(control_last_fit())
18+
expect_snapshot(control_last_fit(verbose = TRUE))
19+
})
20+
21+
test_that("control object print methods with default = TRUE", {
22+
expect_snapshot(print(
23+
control_grid(verbose = TRUE, pkgs = c("pkg1", "pkg2")),
24+
default = TRUE
25+
))
26+
set.seed(456)
27+
expect_snapshot(print(
28+
control_bayes(verbose_iter = TRUE, no_improve = 5),
29+
default = TRUE
30+
))
31+
expect_snapshot(print(control_last_fit(verbose = TRUE), default = TRUE))
32+
})
33+
134
test_that("workflow size warning", {
235
withr::local_options(width = 500)
336

0 commit comments

Comments
 (0)