context("combn_limited")
library(magrittr)
#library(testthat)
rm(list = ls())
#### parameters invalid on its face ####
# bad df
expect_error(
combn_limited(NULL, 1, 2),
'x %>% is.vector(mode = "character")',
fixed = T)
# bad df (v2)
expect_error(
combn_limited(c(1, 2, 3), 1, 2),
'x %>% is.vector(mode = "character")',
fixed = T)
# bad m
expect_error(
combn_limited(c("a", "b", "c"), NULL, 2),
"m %>% is.numeric()",
fixed = T)
# m too small
expect_error(
combn_limited(c("a", "b", "c"), 0, 2),
"m > 0",
fixed = T)
# bad limit
expect_error(
combn_limited(c("a", "b", "c"), 1, NULL),
"limit %>% is.numeric()",
fixed = T)
# limit too cmall
expect_error(
combn_limited(c("a", "b", "c"), 1, 0),
"limit > 0",
fixed = T)
# too many requirments
expect_error(
combn_limited(c("a", "b", "c"), 4, 10),
"n >= m",
fixed = T)
#### normal operation ####
# single choice
actual <- combn_limited(c("a"), 1, 10)
expected <- matrix(
nrow = 1,
c("a"))
expect_equal(actual, expected)
# single choice (v2)
actual <- combn_limited(c("a", "b"), 1, 10)
expected <- matrix(
nrow = 1,
c("a", "b"))
expect_equal(actual, expected)
# single choice (v3)
actual <- combn_limited(c("a", "b", "c", "d"), 1, 10)
expected <- matrix(
nrow = 1,
c("a", "b", "c", "d"))
expect_equal(actual, expected)
# single choice (v4)
actual <- combn_limited(c("a"), 1, 1)
expected <- matrix(
nrow = 1,
c("a"))
expect_equal(actual, expected)
# single choice (v5)
actual <- combn_limited(c("a", "b"), 1, 1)
expected <- matrix(
nrow = 1,
c("a"))
expect_equal(actual, expected)
# choose everything
actual <- combn_limited(c("a", "b"), 2, 10)
expected <- matrix(
nrow = 2,
c("a", "b"))
expect_equal(actual, expected)
# choose everything (v2)
actual <- combn_limited(c("a", "b", "c", "d"), 4, 10)
expected <- matrix(
nrow = 4,
c("a", "b", "c", "d"))
expect_equal(actual, expected)
# normal choose
actual <- combn_limited(c("a", "b", "c"), 2, 10)
expected <- matrix(
nrow = 2,
c("a", "b", "a", "c", "b", "c"))
expect_equal(actual, expected)
# normal choose (v2)
actual <- combn_limited(c("a", "b", "c", "d"), 2, 10)
expected <- matrix(
nrow = 2,
c("a", "b", "a", "c", "a", "d", "b", "c", "b", "d", "c", "d"))
expect_equal(actual, expected)
# limited choice
actual <- combn_limited(c("a", "b", "c", "d"), 2, 4)
expected <- matrix(
nrow = 2,
c("a", "b", "a", "c", "a", "d", "b", "c"))
expect_equal(actual, expected)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.