AMR/tests/testthat/test-_misc.R

90 lines
3.7 KiB
R
Executable File

# ==================================================================== #
# TITLE #
# Antimicrobial Resistance (AMR) Analysis #
# #
# SOURCE #
# https://github.com/msberends/AMR #
# #
# LICENCE #
# (c) 2018-2020 Berends MS, Luz CF et al. #
# #
# This R package is free software; you can freely use and distribute #
# it for both personal and commercial purposes under the terms of the #
# GNU General Public License version 2.0 (GNU GPL-2), as published by #
# the Free Software Foundation. #
# #
# We created this package for both routine data analysis and academic #
# research and it was publicly released in the hope that it will be #
# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. #
# Visit our website for more info: https://msberends.github.io/AMR. #
# ==================================================================== #
context("aa_helper_functions.R")
test_that("percentages works", {
skip_on_cran()
expect_equal(percentage(0.25), "25%")
expect_equal(percentage(0.5), "50%")
expect_equal(percentage(0.500, digits = 1), "50.0%")
expect_equal(percentage(0.1234), "12.3%")
# round up 0.5
expect_equal(percentage(0.0054), "0.5%")
expect_equal(percentage(0.0055), "0.6%")
})
test_that("functions missing in older R versions work", {
skip_on_cran()
expect_equal(strrep("A", 5), "AAAAA")
expect_equal(strrep(c("A", "B"), c(5, 2)), c("AAAAA", "BB"))
expect_equal(trimws(" test "), "test")
expect_equal(trimws(" test ", "l"), "test ")
expect_equal(trimws(" test ", "r"), " test")
})
test_that("looking up ab columns works", {
skip_on_cran()
expect_warning(generate_warning_abs_missing(c("AMP", "AMX")))
expect_warning(generate_warning_abs_missing(c("AMP", "AMX"), any = TRUE))
expect_warning(get_column_abx(example_isolates, hard_dependencies = "FUS"))
expect_message(get_column_abx(example_isolates, soft_dependencies = "FUS"))
expect_warning(get_column_abx(dplyr::rename(example_isolates, thisone = AMX), amox = "thisone", tmp = "thisone", verbose = TRUE))
expect_warning(get_column_abx(dplyr::rename(example_isolates, thisone = AMX), amox = "thisone", tmp = "thisone", verbose = FALSE))
})
test_that("imports work", {
skip_on_cran()
import_functions <- c(
"anti_join" = "dplyr",
"cur_column" = "dplyr",
"freq.default" = "cleaner",
"full_join" = "dplyr",
"has_internet" = "curl",
"html_attr" = "rvest",
"html_children" = "rvest",
"html_node" = "rvest",
"html_nodes" = "rvest",
"html_table" = "rvest",
"html_text" = "rvest",
"inline_hist" = "skimr",
"inner_join" = "dplyr",
"insertText" = "rstudioapi",
"left_join" = "dplyr",
"new_pillar_shaft_simple" = "pillar",
"peek_mask" = "dplyr",
"peek_vars" = "tidyselect",
"read_excel" = "readxl",
"read_html" = "xml2",
"right_join" = "dplyr",
"semi_join" = "dplyr",
"sfl" = "skimr",
"showQuestion" = "rstudioapi")
for (i in seq_len(length(import_functions))) {
fn <- names(import_functions)[i]
pkg <- unname(import_functions[i])
expect(!is.null(import_fn(name = fn, pkg = pkg, error_on_fail = FALSE)),
failure_message = paste0("Function ", pkg, "::", fn, "() does not exist"))
}
})