tests/testthat/test-check-model-variants.R

variant_cases <- list(
    multilearn = c(multilearn = TRUE),
    multigs = c(multigs = TRUE),
    multilearn_multigs = c(multilearn = TRUE, multigs = TRUE),
    multipair = c(multipair = TRUE),
    multipair_multigs = c(multipair = TRUE, multigs = TRUE),
    multiprior = c(multiprior = TRUE),
    multiprior_multigs = c(multiprior = TRUE, multigs = TRUE)
)

for (case_name in names(variant_cases)) {
    test_that(paste("model variant", case_name, "fits simulation data"), {
        variant_args <- as.list(variant_cases[[case_name]])
        model <- bkt(seed = 42, num_fits = 1, parallel = FALSE)
        fitted_model <- do.call(
            fit,
            c(
                list(
                    object = model,
                    data = simulation_test_data(with_model_classes = TRUE),
                    forgets = TRUE,
                    skills = "mathematic"
                ),
                variant_args
            )
        )
        fitted_params <- params(fitted_model)

        expect_s4_class(fitted_model, "Model")
        expect_gt(nrow(fitted_params), 0)
        expect_true(all(is.finite(as.numeric(fitted_params$value))))
    })
}

Try the BKT package in your browser

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

BKT documentation built on Sept. 5, 2026, 5:07 p.m.