test_that("generate_matching generates correct XML structure for a single pair", {
# Inputs
answer <- c("Question 1", "Answer 1")
a_values <- character(0) # No additional pairs
correct_feedback <- "Correct!"
incorrect_feedback <- "Incorrect!"
partially_correct_feedback <- "Partially correct!"
# Expected structure
expected_structure <- paste0(
"\ntrue",
"\n",
"\n Correct!",
"\n",
"\n",
"\n Partially correct!",
"\n",
"\n",
"\n Incorrect!",
"\n",
"\n",
"\n",
"\n Question 1
]]>",
"\n ",
"\n Answer 1",
"\n ",
"\n"
)
# Run the function
result <- generate_matching(
answer = answer,
a_values = a_values,
correct_feedback = correct_feedback,
incorrect_feedback = incorrect_feedback,
partially_correct_feedback = partially_correct_feedback
)
# Check if the result matches the expected structure
expect_equal(result, expected_structure)
})
test_that("generate_matching generates correct XML structure for multiple pairs", {
# Inputs
answer <- c("Question 1", "Answer 1")
a_values <- c("Question 2|Answer 2", "Question 3|Answer 3")
correct_feedback <- "Correct!"
incorrect_feedback <- "Incorrect!"
partially_correct_feedback <- "Partially correct!"
# Expected structure
expected_structure <- paste0(
"\ntrue",
"\n",
"\n Correct!",
"\n",
"\n",
"\n Partially correct!",
"\n",
"\n",
"\n Incorrect!",
"\n",
"\n",
"\n",
"\n Question 1
]]>",
"\n ","\n Answer 1",
"\n ","\n",
"\n",
"\n Question 2|Answer 2
]]>",
"\n ",
"\n NA",
"\n ",
"\n",
"\n",
"\n Question 3|Answer 3
]]>",
"\n ",
"\n NA",
"\n ",
"\n"
)
# Run the function
result <- generate_matching(
answer = answer,
a_values = a_values,
correct_feedback = correct_feedback,
incorrect_feedback = incorrect_feedback,
partially_correct_feedback = partially_correct_feedback
)
# Check if the result matches the expected structure
expect_equal(result, expected_structure)
})