tests/testthat/test-section.R

test_that("Testing of function section() creates assessment
          section correctly", {
    file1 <- test_path("file/rmd/order.Rmd")
    file2 <- test_path("file/rmd/mc_no_point.Rmd")
    file <- c(file1,file2)
    num_variants <- 3
    seed_number <- c(1,2,3)

    # Call the function under test
    sut <- section(file, n_variants = num_variants, seed_number = seed_number)

    expect_true(inherits(sut, "AssessmentSection"))
    expect_equal(length(sut@assessment_item), num_variants)
    expect_equal(sut@selection, 1)
})

test_that("Testing of function section where handles mismatched num_variants
          and seed_number correctly", {
    file <- test_path("file/rmd/order.Rmd")
    num_variants <- 3
    seed_number <- c(1, 2)

    # Call the function under test and expect an error
    expect_error(section(file,
                         n_variants = num_variants,
                         seed_number = seed_number),
                 "The items in seed_number must be equal to number of variants")
})

test_that("Testing of function section() creates assessment section correctly
          when by is \'files\'", {
    file1 <- test_path("file/rmd/order.Rmd")
    file2 <- test_path("file/rmd/mc_no_point.Rmd")
    file <- c(file1,file2)
    num_variants <- 4
    seed_number <- c(1,2,3,4)
    by <- "files"

    # Call the function under test
    sut <- section(file,
                   n_variants = num_variants,
                   seed_number = seed_number,
                   by = by)

    expect_true(inherits(sut, "AssessmentSection"))
    expect_equal(length(sut@assessment_item), length(file))
    expect_equal(sut@selection, NA_integer_)
})

test_that("Testing of function section() with files and S4 objects creates
assessment section correctly", {
              file1 <- test_path("file/rmd/order.Rmd")
              file2 <- test_path("file/rmd/mc_no_point.Rmd")
              sc <- new("SingleChoice", choices = c("A", "B", "C"),
                        identifier = "sc_test")
              content <- c(file1, file2, sc)
              num_variants <- 3
              seed_number <- c(1,2,3)

              # Call the function under test
              sut <- section(content, n_variants = num_variants,
                             seed_number = seed_number)
              # Get sc object from outcome section
              sut2 <- sut@assessment_item[[1]]@assessment_item[[3]]
              # Call only with object
              sut3 <- section(sc, n_variants = num_variants)

              expect_true(inherits(sut, "AssessmentSection"))
              expect_equal(length(sut@assessment_item), num_variants)
              expect_equal(sut@selection, 1)
              expect_true(is(sut2, "SingleChoice"))
              expect_equal(length(sut3@assessment_item), 3)
          })

Try the rqti package in your browser

Any scripts or data that you put into this service are public.

rqti documentation built on April 3, 2025, 7:43 p.m.