source("test_helpers.R") mc <- new("MultipleChoice", content = list(), choices = c("Hydrogen","Helium","Carbon","Oxygen","Nitrogen", "Chlorine"), choice_identifiers = c("H","He","C","O","N","Cl"), points = c(1,0,0,1,0,-1), title = "title_mc", prompt = paste0("Which of the following elements ", "are used to form water?")) test_that("Test createItemBody for MultipleChoice class", { example <- ' Which of the following elements are used to form water? Hydrogen Helium Carbon Oxygen Nitrogen Chlorine ' sut <- xml2::read_xml(toString(createItemBody(mc))) expected <- xml2::read_xml(example) equal_xml(sut, expected) }) test_that("Test createResponseDeclaration for MultipleChoice class",{ mc <- new("MultipleChoice", content = list(""), choices = c("Hydrogen","Helium","Carbon","Oxygen","Nitrogen", "Chlorine"), choice_identifiers = c("H","He","C","O","N","Cl"), points = c(1,0,0,1,0,-1), title = "filename_sc", prompt = paste0("Which of the following elements ", "are used to form water?")) example <- ' H O ' qtiXML <- toString(createResponseDeclaration(mc)) sut <- xml2::read_xml(qtiXML) expected <- xml2::read_xml(example) equal_xml(sut, expected) }) test_that("Test getPoints for MultipleChoice class", { sut <- getPoints(mc) expect_equal(sut, 2) }) test_that("Test createOutcomeDeclaration() for Multiple Choice",{ example <- ' 0 2 0 ' responseDe <- as.character(htmltools::tag( "additionalTag", list(createOutcomeDeclaration(mc)))) sut <- xml2::read_xml(responseDe) expected <- xml2::read_xml(example) equal_xml(sut, expected) }) test_that("Testing the constructor for MultipleChoice class", { sut <- multipleChoice(choices = c("option1", "option2", "option3"), points = c(0, 0.5, 0.5)) xml_sut <- create_assessment_item(sut) expect_no_error(xml2::read_xml(as.character(xml_sut))) expect_s4_class(sut, "MultipleChoice") })