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) })