R/helper-functions.R

#nocov start
# Predicates --------------------------------------------------------------
.is_a_non_missing_nor_empty_string <- function(x){
    return(length(x) == 1 & is.character(x) & nchar(x) > 0)
}

.are_disjoint_sets <- function(x, y){
    return(length(intersect(x, y)) == 0)
}

.is_positive_and_finite <- function(x){
    return(length(x) == 1 & is.numeric(x) & is.finite(x) & x > 0)
}

.is_non_empty_data.frame <- function(x){
    return(all("data.frame" %in% class(x)) & isTRUE(dim(x)[1] > 0))
}

.is_non_empty_list <- function(x){
    return(all("list" %in% class(x)) & isTRUE(length(x) > 0))
}

# Assertions --------------------------------------------------------------
.assert_is_a_non_missing_nor_empty_string <- function(x){
    stopifnot(.is_a_non_missing_nor_empty_string(x))
    return(invisible())
}

.assert_is_environment <- function(x){
    stopifnot(is.environment(x))
    return(invisible())
}

.assert_is_positive_and_finite <- function(x){
    stopifnot(.is_positive_and_finite(x))
    return(invisible())
}

.assert_is_non_empty_data.frame <- function(x){
    stopifnot(.is_non_empty_data.frame(x))
    return(invisible())
}

.assert_is_list <- function(x){
    return(is.list(x))
}

.assert_is_non_empty_list <- function(x){
    stopifnot(.is_non_empty_list(x))
    return(invisible())
}

.assert_all_are_characters <- function(x){
    stopifnot(is.character(x))
    return(invisible())
}
#nocov end
tidylab/tidylab.dqa documentation built on June 21, 2019, 7 p.m.