t <- data.frame(x=c('a', 'a', 'b'))
ct <- crosstable(t, cols=c('x'))
gt <- as_gt(ct, generic_labels=list(value="count"))
test_that("No missing options", {
skip_on_ci()
skip_on_cran()
path = test_path("../../R")
skip_if(!dir.exists(path))
ignored = c(
"rec_sep", "rec_max_length", #internal, unused yet
"crosstable_...", "crosstable_.local", "crosstable_reset"
)
missing_options = missing_options_helper(path=path, ignore=ignored)
#missing options, not handled in crosstable_options()
missing_options$not_handled %>% expect_length(0)
# added options, handled in crosstable_options() but never used in the code
missing_options$not_used %>% expect_length(0)
})
test_that("Options work", {
local({
crosstable_reset_options(quiet=TRUE)
x=crosstable_peek_options()
expect_length(x, 0)
#normal func
crosstable_options(remove_zero_percent=TRUE)
#legacy
crosstable_options(crosstable_wrap_id=50)
#duplicates
expect_warning(crosstable_options(units="cm", crosstable_units="error",
percent_pattern="{n}", crosstable_percent_pattern="error"),
class="crosstable_dupl_option_warning")
#unknown options
expect_warning(crosstable_options(foo="bar", bar="foo"),
class="crosstable_unknown_option_warning")
x=crosstable_peek_options()
expect_mapequal(x, list(crosstable_remove_zero_percent = TRUE, crosstable_wrap_id=50,
crosstable_units = "cm", crosstable_percent_pattern = "{n}"))
#reset
expect_message(crosstable_reset_options())
expect_silent(crosstable_reset_options(quiet=TRUE))
lifecycle::expect_deprecated(crosstable_options(reset=TRUE))
expect_length(crosstable_peek_options(), 0)
#default in testing env
crosstable_options(crosstable_verbosity_autotesting="quiet")
})
})
test_that("Renaming work", {
#zero_percent was renamed to remove_zero_percent
crosstable_options(zero_percent=TRUE, .local=TRUE)
a=crosstable_peek_options()
expect_in("crosstable_remove_zero_percent", names(a))
})
test_that("All options work", {
crosstable_reset_options(quiet=TRUE)
local_reproducible_output(width = 1000)
set.seed(1234)
# withr::deferred_clear()
ct_noopt = crosstable(mtcars3, c(cyl, carb, qsec_posix, surv), by=vs, test=TRUE, effect=TRUE) %>%
suppressWarnings()
crosstable_options(
remove_zero_percent=TRUE,
only_round=TRUE,
verbosity_autotesting="quiet",
verbosity_duplicate_cols="quiet",
total="both",
percent_pattern="{n} ({p_row}, {p_col})",
percent_digits=1,
num_digits=1,
showNA="always",
label=FALSE,
# funs=meansd,
funs=c("Mean (SD)"=meansd),
funs_arg=list(na.rm=FALSE),
cor_method="kendall",
unique_numeric=4,
date_format="%d/%m/%Y",
times=c(0,100),
followup=TRUE,
test_args = crosstable_test_args(plim=1),
effect_args = crosstable_effect_args(conf_level=0.7),
.local=TRUE
)
ct_opt = crosstable(mtcars3, c(cyl, carb, qsec_posix, surv), by=vs, test=TRUE, effect=TRUE) %>%
suppressWarnings()
expect_snapshot({
as.data.frame(ct_noopt)
as.data.frame(ct_opt)
})
#as_flextable()
ft_noopt = as_flextable(ct_opt)
# local_options(
crosstable_options(
wrap_id=30,
compact_padding=40,
header_show_n_pattern="{.col}={.n}",
keep_id=TRUE,
autofit=FALSE,
compact=TRUE,
remove_header_keys=TRUE,
show_test_name=FALSE,
padding_v=0,
header_show_n=TRUE,
fontsize_body=8,
fontsize_subheaders=9,
fontsize_header=10,
.local=TRUE
)
ft_opt = as_flextable(ct_opt)
expect_snapshot({
ft_noopt
ft_opt
})
# x = crosstable(mtcars3, c(cyl, carb, qsec_posix, surv), by=vs)
# print(af(x))
# expect_snapshot({
# x = crosstable(mtcars3, c(cyl, carb, qsec_posix, surv), by=vs)
# as.data.frame(x)
# })
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.