Checks if all arguments are of the same type.
Usage
assert_same_type(
...,
.message = c("Arguments {.arg {arg_names}} must be the same type.", i =
paste("Argument types are", paste0("{.arg ", arg_names, "} {.cls ", types, "}",
collapse = ", "))),
.class = "assert_same_type",
.call = parent.frame()
)
See also
Checks for valid input and returns warning or errors messages:
assert_atomic_vector()
,
assert_character_scalar()
,
assert_character_vector()
,
assert_data_frame()
,
assert_date_vector()
,
assert_expr()
,
assert_expr_list()
,
assert_filter_cond()
,
assert_function()
,
assert_integer_scalar()
,
assert_list_element()
,
assert_list_of()
,
assert_logical_scalar()
,
assert_named()
,
assert_numeric_vector()
,
assert_one_to_one()
,
assert_param_does_not_exist()
,
assert_s3_class()
,
assert_symbol()
,
assert_unit()
,
assert_vars()
,
assert_varval_list()
Examples
example_fun <- function(true_value, false_value, missing_value) {
assert_same_type(true_value, false_value, missing_value)
}
example_fun(
true_value = "Y",
false_value = "N",
missing_value = NA_character_
)
try(example_fun(
true_value = 1,
false_value = 0,
missing_value = "missing"
))
#> Error in example_fun(true_value = 1, false_value = 0, missing_value = "missing") :
#> Arguments `true_value`, `false_value`, and `missing_value` must be the
#> same type.
#> ℹ Argument types are `true_value` <double>, `false_value` <double>,
#> `missing_value` <character>