context("designs")
test_that("designs", {
# one point, empty function call
d = BatchExperiments:::designIterator(ex=list())
expect_true(d$hasNext())
expect_equal(d$n.states, 1)
expect_equal(d$nextElem(), list())
d = BatchExperiments:::designIterator(ex=list(), .design=data.frame(a=1:3))
expect_true(d$hasNext())
expect_equal(d$n.states, 3L)
xs = replicate(3, d$nextElem(), simplify=FALSE)
expect_equal(xs, list(list(a=1L), list(a=2L), list(a=3L)))
d = BatchExperiments:::designIterator(ex=list(), .design=data.frame(a=1:2, b=4:5))
expect_true(d$hasNext())
expect_equal(d$n.states, 2L)
xs = replicate(2, d$nextElem(), simplify=FALSE)
expect_equal(xs, list(list(a=1L, b=4L), list(a=2L, b=5L)))
d = BatchExperiments:::designIterator(ex=list(a=c("x", "y"), b=4:5), .design=data.frame(c=c(1,6), d=c(7,9)))
expect_true(d$hasNext())
expect_equal(d$n.states, 8L)
xs = replicate(8, as.data.frame(d$nextElem()), simplify=FALSE)
xs = do.call(rbind, xs)
data = data.frame(
c = c(1, 1, 1, 1, 6, 6, 6, 6),
d = c(7, 7, 7, 7, 9, 9, 9, 9),
a = c("x", "y", "x", "y", "x", "y", "x", "y"),
b = c(4, 4, 5, 5, 4, 4, 5, 5)
)
expect_equal(xs, data[names(xs)])
expect_false(d$hasNext())
d$reset()
expect_equal(d$n.states, 8L)
xs = replicate(8, as.data.frame(d$nextElem()), simplify=FALSE)
xs = do.call(rbind, xs)
expect_equal(xs, data[names(xs)])
d = BatchExperiments:::designIterator(ex=list(a=as.factor(c("u", "v"))), .design=data.frame(b=as.factor(c("a", "b")), c=c("x", "y"), stringsAsFactors=FALSE))
x = d$nextElem()
y = list(b=factor("a", levels=c("a", "b")), c="x", a=factor("u", levels=c("u", "v")))
expect_equal(x, y[names(x)])
#expect_equal(nrow(d$design), 2)
#expect_equal(ncol(d$design), 1)
#expect_equal(colnames(d$design), c("a"))
#expect_true(is.numeric(d$design$a))
#d = makeDesign(a, design=data.frame(a=1:2, b=c("a", "b")))
#expect_equal(nrow(d$design), 2)
#expect_equal(ncol(d$design), 2)
#expect_equal(colnames(d$design), c("a", "b"))
#expect_true(is.numeric(d$design$a) && is.character(d$design$b))
#d = makeDesign(a, design=data.frame(a=1:2, b=c("a", "b")), exhaustive=list(c=pi, d=1:5))
#expect_equal(nrow(d$design), 10)
#expect_equal(ncol(d$design), 4)
#expect_equal(colnames(d$design), c("a", "b", "c", "d"))
#expect_true(is.numeric(d$design$a) && is.character(d$design$b)
# && is.numeric(d$design$c) && is.numeric(d$design$d))
#d = check_error(makeDesign(a, exhaustive=list(x=iris)), "primitive")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.