context("Testing clozify functions")
test_that(paste(sQuote("sample_questions"), " is working correctly"), {
# Only one question
qs <- sample_questions(Question("q1", answer = 1),
sample_size = 3)
expect_true(length(qs) == 3)
expect_true(all(sapply(qs, function(q) q$type) != "cloze"))
qs <- sample_questions(list(Question("q1", answer = 1)),
sample_size = 3)
expect_true(length(qs) == 3)
qs <- sample_questions(list(Question("q1", answer = 1)),
clozify = TRUE,
sample_size = 3)
expect_true(length(qs) == 3)
expect_true(all(sapply(qs, function(q) q$type) != "cloze"))
qs <- list(
Question("q1", answer = 1),
Question("q2", answer = 2),
Question("q3", answer = 3),
Question("q4", answer = 4),
Question("q5", answer = 5),
Question("q6", answer = 6),
Question("q7", answer = 7))
q_list <- sample_questions(qs, sample_size = 4, group_sizes = 2)
expect_equal(length(q_list), 4)
expect_true(all(sapply(q_list, function(q) q$type) == "cloze"))
q_list <- sample_questions(qs, sample_size = 4,
group_sizes = 2,
clozify = FALSE)
expect_true(all(sapply(q_list, length) == 2))
expect_equal(length(q_list), 4)
})
test_that(paste(sQuote("versionize_questions"), " is working correctly"), {
qs <- list(
Question("q1", answer = 1),
Question("q2", answer = 2),
Question("q3", answer = 3),
Question("q4", answer = 4),
Question("q5", answer = 5),
Question("q6", answer = 6),
Question("q7", answer = 7))
nver <- c(1:7)
q_list <- versionize_questions(qs, "SEED", nver)
expect_equal(sapply(q_list, length), nver)
})
test_that(paste(sQuote("clozify_group"), " is working correctly"), {
group <-
Group$new("group",
children = list(
Question("q1", answer = 1),
Question("q2", answer = 2),
Question("q3", answer = 3),
Question("q4", answer = 4),
Question("q5", answer = 5),
Question("q6", answer = 6),
Question("q7", answer = 7)))
n <- 3
N <- 10
cl_group <- clozify_group(group,
sample_size = N,
group_sizes = n)
expect_equal(length(cl_group$children), N)
expect_true(all(sapply(cl_group$children, function(q) q$type) == "cloze"))
expect_true(all(sapply(cl_group$children, function(q) q$num) == n))
})
test_that(paste(sQuote("clozify_independant_questions"), " is working correctly"), {
questions <- list(
Question("q1", answer = 1),
Question("q2", answer = 2),
Question("q3", answer = 3),
Question("q4", answer = 4),
Question("q5", answer = 5),
Question("q6", answer = 6),
Question("q7", answer = 7))
N <- 10
nver <- 10
k <- 3
q_list <- clozify_independant_questions(questions, "SEED", N, k, nver)
expect_equal(length(q_list), N)
expect_true(all(sapply(q_list, function(q) q$type) == "cloze"))
expect_true(all(sapply(q_list, function(q) q$num) == k))
questions <- list(
Question("q1", type = "SA", hidden_seed = 1, answer = quote(ds_name)),
Question("q2", type = "SA", hidden_seed = 1, answer = quote(ds_name)),
Question("q3", type = "SA", hidden_seed = 1, answer = quote(ds_name)),
Question("q4", type = "SA", hidden_seed = 1, answer = quote(ds_name)),
Question("q5", type = "SA", hidden_seed = 1, answer = quote(ds_name)),
Question("q6", type = "SA", hidden_seed = 1, answer = quote(ds_name)),
Question("q7", type = "SA", hidden_seed = 1, answer = quote(ds_name)))
q_list <- clozify_independant_questions(questions, "SEED", N, k, nver)
expect_true(all(sapply(q_list, function(q) grepl("SEED[0-9]{3}", q$instantiated_answer))))
})
test_that(paste(sQuote("versionize_group"), " is working correctly"), {
seed <- "TEST"
N <- 10
group <- Group$new("gp1",
hidden_data = quote({
ds_sym <- rnorm(1)
}),
children = list(
Question("q1", type = "SA"),
Question("q2", type = "SA"),
Question("q3", type = "SA"),
Question("q4", type = "SA"),
Question("q5", type = "SA"),
Question("q6", type = "SA"),
Question("q7", type = "SA")))
v_group <- versionize_group(group, seed, N)
expect_true(all(sapply(v_group, function(g) grepl("v[0-9]{3}$", g$title))))
})
test_that(paste(sQuote("merge_groups"), " is working correctly"), {
g1 <- Group$new("g1",
hidden_seed = 1,
hidden_data = quote({a <- 1}),
seed = 2,
data = quote({b <- a}),
children = list(
Question("q1", type = "SA")))
g2 <- Group$new("g2",
hidden_seed = 3,
hidden_data = quote({a <- 1}),
seed = 4,
data = quote({b <- a}),
children = list(
Question("q2", type = "SA")))
g <- merge_groups(list(g1, g2), "blah")
expect_equal(g$hidden_data, quote({
g1_a <- 1
g2_a <- 1
}))
g1 <- Group$new("g1",
header = "foo",
hidden_seed = 1,
hidden_data = quote({a <- 1}),
seed = 2,
data = quote({b <- a}),
children = list(
Question("q1", type = "SA")))
g2 <- Group$new("g2",
header = "bar",
hidden_seed = 3,
hidden_data = quote({a <- 1}),
seed = 4,
data = quote({b <- a}),
children = list(
Question("q2", type = "SA")))
g <- merge_groups(list(g1, g2), "blah")
expect_equal(length(g$children), 2)
expect_equal(g$children[[1]]$text, "foo\n\nq1")
expect_equal(g$children[[2]]$text, "bar\n\nq2")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.