2019-02-04 12:24:07 +01:00
# ==================================================================== #
# TITLE #
2022-10-05 09:12:22 +02:00
# AMR: An R Package for Working with Antimicrobial Resistance Data #
2019-02-04 12:24:07 +01:00
# #
# SOURCE #
2020-07-08 14:48:06 +02:00
# https://github.com/msberends/AMR #
2019-02-04 12:24:07 +01:00
# #
2022-10-05 09:12:22 +02:00
# CITE AS #
# Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C #
# (2022). AMR: An R Package for Working with Antimicrobial Resistance #
# Data. Journal of Statistical Software, 104(3), 1-31. #
# doi:10.18637/jss.v104.i03 #
# #
2022-12-27 15:16:15 +01:00
# Developed at the University of Groningen and the University Medical #
# Center Groningen in The Netherlands, in collaboration with many #
# colleagues from around the world, see our website. #
2019-02-04 12:24:07 +01:00
# #
# 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. #
2020-01-05 17:22:09 +01:00
# 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. #
2020-10-08 11:16:03 +02:00
# #
# Visit our website for the full manual and a complete tutorial about #
2021-02-02 23:57:35 +01:00
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
2019-02-04 12:24:07 +01:00
# ==================================================================== #
2022-10-05 09:12:22 +02:00
# we use {tinytest} instead of {testthat} because it does not rely on recent R versions - we want to test on R >= 3.0.
# Run them in RStudio using:
2022-10-31 13:25:41 +01:00
# rstudioapi::jobRunScript("tests/tinytest.R", name = "AMR Unit Tests", workingDir = getwd(), exportEnv = "tinytest_results")
2022-10-05 09:12:22 +02:00
2022-10-31 13:25:41 +01:00
# test only on GitHub Actions and at using RStudio jobs - not on CRAN as tests are lengthy
if ( tryCatch ( isTRUE ( AMR ::: import_fn ( " isJob" , " rstudioapi" ) ( ) ) , error = function ( e ) FALSE ) ||
2023-01-23 15:01:21 +01:00
identical ( Sys.getenv ( " R_RUN_TINYTEST" ) , " true" ) ) {
2021-05-16 09:25:36 +02:00
# env var 'R_LIBS_USER' got overwritten during 'R CMD check' in GitHub Actions, so:
.libPaths ( c ( Sys.getenv ( " R_LIBS_USER_GH_ACTIONS" ) , .libPaths ( ) ) )
2022-08-28 19:17:12 +02:00
if ( AMR ::: pkg_is_available ( " tinytest" , also_load = TRUE ) ) {
2021-05-16 10:50:00 +02:00
library ( AMR )
2023-02-06 14:36:31 +01:00
if ( identical ( AMR ::: import_fn ( " select" , " dplyr" ) , AMR ::: select ) ) {
2023-02-08 13:48:06 +01:00
message ( " \n\n------------------------------------\nThis test will rely on {dplyr} verbs\n------------------------------------\n\n" )
2023-02-06 14:36:31 +01:00
} else {
2023-02-08 13:48:06 +01:00
message ( " \n\n---------------------------------------------------------------------\nThis test will rely on {poorman} verbs (installed state dplyr: " , AMR ::: pkg_is_available ( " dplyr" , also_load = FALSE ) , " )\n---------------------------------------------------------------------\n\n" )
2023-02-06 14:36:31 +01:00
}
2022-10-05 09:12:22 +02:00
# set language
2022-08-28 19:17:12 +02:00
set_AMR_locale ( " English" )
2022-10-05 09:12:22 +02:00
# set some functions if on old R
if ( getRversion ( ) < " 3.2.0" ) {
anyNA <- AMR ::: anyNA
dir.exists <- AMR ::: dir.exists
file.size <- AMR ::: file.size
file.mtime <- AMR ::: file.mtime
isNamespaceLoaded <- AMR ::: isNamespaceLoaded
lengths <- AMR ::: lengths
}
if ( getRversion ( ) < " 3.3.0" ) {
strrep <- AMR ::: strrep
}
if ( getRversion ( ) < " 3.5.0" ) {
isFALSE <- AMR ::: isFALSE
}
if ( getRversion ( ) < " 3.6.0" ) {
str2lang <- AMR ::: str2lang
# trims() was introduced in 3.3.0, but its argument `whitespace` only in 3.6.0
trimws <- AMR ::: trimws
}
if ( getRversion ( ) < " 4.0.0" ) {
deparse1 <- AMR ::: deparse1
}
# start the unit tests
2021-08-30 15:43:12 +02:00
out <- test_package ( " AMR" ,
2022-10-05 09:12:22 +02:00
testdir = ifelse ( dir.exists ( " inst/tinytest" ) ,
2022-08-28 10:31:50 +02:00
" inst/tinytest" ,
" tinytest"
) ,
verbose = 99 ,
color = FALSE
)
2022-08-28 19:17:12 +02:00
cat ( " \n\nSUMMARY:\n" )
2021-05-20 13:42:17 +02:00
print ( summary ( out ) )
2021-05-16 10:50:00 +02:00
}
2021-05-15 21:36:22 +02:00
}