test_that("throw_dice() with one dice works", {
expect_type(throw_dice(3), "integer")
expect_length(throw_dice(57), 57)
set.seed(2345)
expect_setequal(throw_dice(200), 1:6)
expect_setequal(throw_dice(400, 20), 1:20)
})
test_that("throw_dice() with two dice works", {
expect_type(throw_dice(3, dice = 2), "integer")
expect_length(throw_dice(57, dice = 2), 57)
set.seed(2345)
expect_setequal(throw_dice(1000, dice = 2), 2:12)
expect_setequal(throw_dice(5000, 20, dice = 2), 2:40)
})
test_that("throw_dice() with five dice works", {
expect_type(throw_dice(3, dice = 5), "integer")
expect_length(throw_dice(57, dice = 5), 57)
set.seed(2345)
expect_setequal(throw_dice(10000, 4, dice = 5), 5:20)
})
test_that("throw_dice() results have the expected distribution", {
set.seed(6756)
expect_gt(
chisq.test(table(throw_dice(200)), p = rep(1/6, 6))$p.value,
0.05
)
expect_gt(
chisq.test(table(throw_dice(500, 20)), p = rep(1/20, 20))$p.value,
0.05
)
expect_gt(
chisq.test(
table(throw_dice(1000, dice = 2)),
p = c(1:6, 5:1) / 36
)$p.value,
0.05
)
})
test_that("throw_dice() throws errors", {
expect_error(throw_dice(-3), "n must be at least 1")
expect_error(throw_dice(5, 1), "faces must be at least 2")
expect_error(throw_dice(5, dice = 0), "dice must be at least 1")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.