test_that( "amr_mdr correctly identifies MDR isolates", { dat <- data.frame( isolate = 1:5, AMP = c("R", "R", "S", "R", "S"), TET = c("R", "S", "S", "R", "S"), CIP = c("R", "S", "S", "R", "R"), GEN = c("S", "S", "R", "R", "S") ) result <- amr_mdr( data = dat, antibiotic_columns = c( "AMP", "TET", "CIP", "GEN" ), isolate_id = "isolate", min_classes = 3 ) expect_equal( nrow(result), 5 ) expect_true( "MDR" %in% names(result) ) expect_true( "resistant_antibiotics" %in% names(result) ) } ) test_that( "amr_mdr counts resistant antibiotics correctly", { dat <- data.frame( isolate = 1, AMP = "R", TET = "R", CIP = "R", GEN = "S" ) result <- amr_mdr( data = dat, antibiotic_columns = c( "AMP", "TET", "CIP", "GEN" ), min_classes = 3 ) expect_equal( result$resistant_antibiotics, 3 ) expect_true( result$MDR ) } ) test_that( "amr_mdr correctly identifies non-MDR isolates", { dat <- data.frame( AMP = "R", TET = "S", CIP = "S", GEN = "S" ) result <- amr_mdr( data = dat, antibiotic_columns = c( "AMP", "TET", "CIP", "GEN" ), min_classes = 3 ) expect_equal( result$resistant_antibiotics, 1 ) expect_false( result$MDR ) } ) test_that( "amr_mdr rejects missing antibiotic columns", { dat <- data.frame( AMP = c("R", "S"), TET = c("S", "R") ) expect_error( amr_mdr( data = dat, antibiotic_columns = c( "AMP", "TET", "CIP" ) ), "Missing columns" ) } )