test_that( "amr_xdr identifies XDR isolates", { dat <- data.frame( AMP = c("R", "R", "S"), TET = c("R", "R", "S"), CIP = c("R", "S", "S"), GEN = c("R", "S", "S"), CTX = c("R", "S", "S") ) result <- amr_xdr( data = dat, antibiotic_columns = c( "AMP", "TET", "CIP", "GEN", "CTX" ), min_resistant = 5 ) expect_s3_class( result, "data.frame" ) expect_equal( result$resistant_antibiotics, c(5, 2, 0) ) expect_equal( result$XDR, c(TRUE, FALSE, FALSE) ) } ) test_that( "amr_xdr identifies XDR using a lower threshold", { dat <- data.frame( AMP = c("R", "R"), TET = c("R", "S"), CIP = c("R", "S"), GEN = c("S", "S"), CTX = c("S", "S") ) result <- amr_xdr( data = dat, antibiotic_columns = c( "AMP", "TET", "CIP", "GEN", "CTX" ), min_resistant = 3 ) expect_equal( result$resistant_antibiotics, c(3, 1) ) expect_equal( result$XDR, c(TRUE, FALSE) ) } ) test_that( "amr_xdr supports custom resistance values", { dat <- data.frame( AMP = c( "Resistant", "Resistant" ), TET = c( "Resistant", "Susceptible" ), CIP = c( "Resistant", "Susceptible" ) ) result <- amr_xdr( data = dat, antibiotic_columns = c( "AMP", "TET", "CIP" ), resistant_value = "Resistant", min_resistant = 3 ) expect_equal( result$resistant_antibiotics, c(3, 1) ) expect_equal( result$XDR, c(TRUE, FALSE) ) } )