mirror of
https://github.com/msberends/AMR.git
synced 2025-07-08 13:21:50 +02:00
unit tests
This commit is contained in:
80
inst/tinytest/test-av.R
Executable file
80
inst/tinytest/test-av.R
Executable file
@ -0,0 +1,80 @@
|
||||
# ==================================================================== #
|
||||
# TITLE #
|
||||
# AMR: An R Package for Working with Antimicrobial Resistance Data #
|
||||
# #
|
||||
# SOURCE #
|
||||
# https://github.com/msberends/AMR #
|
||||
# #
|
||||
# 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 #
|
||||
# #
|
||||
# Developed at the University of Groningen, the Netherlands, in #
|
||||
# collaboration with non-profit organisations Certe Medical #
|
||||
# Diagnostics & Advice, and University Medical Center Groningen. #
|
||||
# #
|
||||
# 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 the full manual and a complete tutorial about #
|
||||
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
|
||||
# ==================================================================== #
|
||||
|
||||
expect_equal(
|
||||
as.character(as.av(c(
|
||||
"J05AB01",
|
||||
"J 05 AB 01",
|
||||
"Aciclovir",
|
||||
"aciclo",
|
||||
" aciclo 123",
|
||||
"ACICL",
|
||||
"ACI",
|
||||
"Virorax",
|
||||
"Zovirax"
|
||||
))),
|
||||
rep("ACI", 9)
|
||||
)
|
||||
|
||||
expect_identical(class(as.av("acic")), c("av", "character"))
|
||||
expect_identical(class(antivirals$av), c("av", "character"))
|
||||
expect_true(is.av(as.av("acic")))
|
||||
expect_stdout(print(as.av("acic")))
|
||||
expect_stdout(print(data.frame(a = as.av("acic"))))
|
||||
|
||||
expect_warning(as.av("J00AA00")) # ATC not yet available in data set
|
||||
expect_warning(as.av("UNKNOWN"))
|
||||
|
||||
expect_stdout(print(as.av("acic")))
|
||||
|
||||
expect_equal(
|
||||
as.character(as.av("zovirax")),
|
||||
"ACI"
|
||||
)
|
||||
|
||||
expect_equal(
|
||||
as.character(as.av(c("Abacaivr", "Celvudine"))),
|
||||
c("ABA", "CLE")
|
||||
)
|
||||
|
||||
expect_warning(as.av("Abacavir Clevudine"))
|
||||
|
||||
# based on Levenshtein distance
|
||||
expect_identical(av_name("adevofir dypifo", language = NULL), "Adefovir dipivoxil")
|
||||
|
||||
# assigning and subsetting
|
||||
x <- antivirals$av
|
||||
expect_inherits(x[1], "av")
|
||||
expect_inherits(x[[1]], "av")
|
||||
expect_inherits(c(x[1], x[9]), "av")
|
||||
expect_inherits(unique(x[1], x[9]), "av")
|
||||
expect_inherits(rep(x[1], 2), "av")
|
||||
expect_warning(x[1] <- "invalid code")
|
||||
expect_warning(x[[1]] <- "invalid code")
|
||||
expect_warning(c(x[1], "test"))
|
58
inst/tinytest/test-av_from_text.R
Normal file
58
inst/tinytest/test-av_from_text.R
Normal file
@ -0,0 +1,58 @@
|
||||
# ==================================================================== #
|
||||
# TITLE #
|
||||
# AMR: An R Package for Working with Antimicrobial Resistance Data #
|
||||
# #
|
||||
# SOURCE #
|
||||
# https://github.com/msberends/AMR #
|
||||
# #
|
||||
# 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 #
|
||||
# #
|
||||
# Developed at the University of Groningen, the Netherlands, in #
|
||||
# collaboration with non-profit organisations Certe Medical #
|
||||
# Diagnostics & Advice, and University Medical Center Groningen. #
|
||||
# #
|
||||
# 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 the full manual and a complete tutorial about #
|
||||
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
|
||||
# ==================================================================== #
|
||||
|
||||
expect_identical(
|
||||
av_from_text("28/03/2020 regular aciclovir 500mg po tds")[[1]],
|
||||
as.av("Aciclovir")
|
||||
)
|
||||
expect_identical(
|
||||
av_from_text("28/03/2020 regular aciclovir 500mg po tds", thorough_search = TRUE)[[1]],
|
||||
as.av("Aciclovir")
|
||||
)
|
||||
expect_identical(
|
||||
av_from_text("28/03/2020 regular aciclovir 500mg po tds", thorough_search = FALSE)[[1]],
|
||||
as.av("Aciclovir")
|
||||
)
|
||||
expect_identical(
|
||||
av_from_text("28/03/2020 regular aciclovir 500mg po tds", translate_ab = TRUE)[[1]],
|
||||
"Aciclovir"
|
||||
)
|
||||
expect_identical(
|
||||
av_from_text("administered aciclo and valaciclo", collapse = ", ")[[1]],
|
||||
"ACI, VALA"
|
||||
)
|
||||
|
||||
expect_identical(
|
||||
av_from_text("28/03/2020 regular aciclo 500mg po tds", type = "dose")[[1]],
|
||||
500
|
||||
)
|
||||
expect_identical(
|
||||
av_from_text("28/03/2020 regular aciclo 500mg po tds", type = "admin")[[1]],
|
||||
"oral"
|
||||
)
|
65
inst/tinytest/test-av_property.R
Normal file
65
inst/tinytest/test-av_property.R
Normal file
@ -0,0 +1,65 @@
|
||||
# ==================================================================== #
|
||||
# TITLE #
|
||||
# AMR: An R Package for Working with Antimicrobial Resistance Data #
|
||||
# #
|
||||
# SOURCE #
|
||||
# https://github.com/msberends/AMR #
|
||||
# #
|
||||
# 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 #
|
||||
# #
|
||||
# Developed at the University of Groningen, the Netherlands, in #
|
||||
# collaboration with non-profit organisations Certe Medical #
|
||||
# Diagnostics & Advice, and University Medical Center Groningen. #
|
||||
# #
|
||||
# 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 the full manual and a complete tutorial about #
|
||||
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
|
||||
# ==================================================================== #
|
||||
|
||||
expect_identical(av_name("ACI", language = NULL), "Aciclovir")
|
||||
expect_identical(av_atc("ACI"), "J05AB01")
|
||||
expect_identical(av_cid("ACI"), as.integer(135398513))
|
||||
|
||||
expect_inherits(av_tradenames("ACI"), "character")
|
||||
expect_inherits(av_tradenames(c("ACI", "ACI")), "list")
|
||||
|
||||
expect_identical(av_group("ACI", language = NULL),"Nucleosides and nucleotides excl. reverse transcriptase inhibitors")
|
||||
|
||||
expect_identical(av_name(135398513, language = NULL), "Aciclovir")
|
||||
expect_identical(av_name("J05AB01", language = NULL), "Aciclovir")
|
||||
|
||||
expect_identical(av_ddd("ACI", "oral"), 4)
|
||||
expect_warning(av_ddd("ACI", "oral", units = TRUE)) # old behaviour
|
||||
expect_identical(av_ddd_units("ACI", "iv"), "g")
|
||||
expect_identical(av_ddd("ACI", "iv"), 4)
|
||||
|
||||
expect_identical(
|
||||
av_name(x = c("ACI", "VALA"), tolower = TRUE, language = NULL),
|
||||
c("aciclovir", "valaciclovir")
|
||||
)
|
||||
|
||||
expect_inherits(av_info("ACI"), "list")
|
||||
|
||||
expect_error(av_property("acic", "invalid property"))
|
||||
expect_error(av_name("acic", language = "INVALID"))
|
||||
expect_stdout(print(av_name("acic", language = NULL)))
|
||||
|
||||
expect_equal(av_name("29113-8", language = NULL), "Abacavir")
|
||||
expect_equal(
|
||||
av_loinc("Abacavir"),
|
||||
c("29113-8", "78772-1", "78773-9", "79134-3", "80118-3")
|
||||
)
|
||||
|
||||
expect_true(av_url("ACI") %like% "whocc.no")
|
||||
expect_warning(av_url("ASP"))
|
Reference in New Issue
Block a user