context("eucast.R") test_that("EUCAST rules work", { expect_error(EUCAST_rules(septic_patients, col_mo = "Non-existing")) expect_identical(colnames(septic_patients), colnames(suppressWarnings(EUCAST_rules(septic_patients)))) a <- data.frame(mo = c("KLEPNE", # Klebsiella pneumoniae "PSEAER", # Pseudomonas aeruginosa "ENTAER"), # Enterobacter aerogenes amox = "-", # Amoxicillin stringsAsFactors = FALSE) b <- data.frame(mo = c("KLEPNE", # Klebsiella pneumoniae "PSEAER", # Pseudomonas aeruginosa "ENTAER"), # Enterobacter aerogenes amox = "R", # Amoxicillin stringsAsFactors = FALSE) expect_identical(suppressWarnings(EUCAST_rules(a, info = FALSE)), b) expect_identical(suppressWarnings(interpretive_reading(a, info = TRUE)), b) a <- data.frame(mo = c("STAAUR", # Staphylococcus aureus "STCGRA"), # Streptococcus pyognenes (Lancefield Group A) coli = "-", # Colistin stringsAsFactors = FALSE) b <- data.frame(mo = c("STAAUR", # Staphylococcus aureus "STCGRA"), # Streptococcus pyognenes (Lancefield Group A) coli = "R", # Colistin stringsAsFactors = FALSE) expect_equal(suppressWarnings(EUCAST_rules(a, info = FALSE)), b) # pita must be R in Enterobacteriaceae when tica is R library(dplyr) expect_equal(suppressWarnings( septic_patients %>% mutate(tica = as.rsi("R"), pita = as.rsi("S")) %>% EUCAST_rules(col_mo = "mo") %>% left_join_microorganisms() %>% filter(family == "Enterobacteriaceae") %>% pull(pita) %>% unique() %>% as.character()), "R") # azit and clar must be equal to eryt expect_equal(suppressWarnings( septic_patients %>% mutate(azit = as.rsi("R"), clar = as.rsi("R")) %>% EUCAST_rules(col_mo = "mo") %>% pull(clar)), suppressWarnings( septic_patients %>% EUCAST_rules(col_mo = "mo") %>% left_join_microorganisms() %>% pull(eryt))) })