Nothing
`%is%` <- expect_equal
test_that("igrid constructs the Cartesian product of two unnamed numeric vectors", {
it <- igrid(1:3, 4:6, rowMajor=FALSE)
expect_equal(nextOr(it, NA), list(1, 4))
expect_equal(nextOr(it, NA), list(1, 5))
expect_equal(nextOr(it, NA), list(1, 6))
expect_equal(nextOr(it, NA), list(2, 4))
expect_equal(nextOr(it, NA), list(2, 5))
expect_equal(nextOr(it, NA), list(2, 6))
expect_equal(nextOr(it, NA), list(3, 4))
expect_equal(nextOr(it, NA), list(3, 5))
expect_equal(nextOr(it, NA), list(3, 6))
expect_equal(nextOr(it, NA), NA)
})
test_that("igrid constructs the Cartesian product of three unnamed numeric vectors", {
it <- igrid(1:2, 3:4, 5:6, rowMajor=FALSE)
expect_equal(nextOr(it, NA), list(1, 3, 5))
expect_equal(nextOr(it, NA), list(1, 3, 6))
expect_equal(nextOr(it, NA), list(1, 4, 5))
expect_equal(nextOr(it, NA), list(1, 4, 6))
expect_equal(nextOr(it, NA), list(2, 3, 5))
expect_equal(nextOr(it, NA), list(2, 3, 6))
expect_equal(nextOr(it, NA), list(2, 4, 5))
expect_equal(nextOr(it, NA), list(2, 4, 6))
expect_equal(nextOr(it, NA), NA)
})
test_that("igrid constructs the Cartesian product of two named numeric vectors", {
it <- igrid(a=1:3, b=4:6)
expect_equal(nextOr(it, NA), list(a=1, b=4))
expect_equal(nextOr(it, NA), list(a=2, b=4))
expect_equal(nextOr(it, NA), list(a=3, b=4))
expect_equal(nextOr(it, NA), list(a=1, b=5))
expect_equal(nextOr(it, NA), list(a=2, b=5))
expect_equal(nextOr(it, NA), list(a=3, b=5))
expect_equal(nextOr(it, NA), list(a=1, b=6))
expect_equal(nextOr(it, NA), list(a=2, b=6))
expect_equal(nextOr(it, NA), list(a=3, b=6))
expect_equal(nextOr(it, NA), NA)
})
test_that("igrid constructs the Cartesian product of three named numeric vectors", {
it <- igrid(a=1:2, b=3:4, c=5:6, rowMajor=FALSE)
expect_equal(nextOr(it, NA), list(a=1, b=3, c=5))
expect_equal(nextOr(it, NA), list(a=1, b=3, c=6))
expect_equal(nextOr(it, NA), list(a=1, b=4, c=5))
expect_equal(nextOr(it, NA), list(a=1, b=4, c=6))
expect_equal(nextOr(it, NA), list(a=2, b=3, c=5))
expect_equal(nextOr(it, NA), list(a=2, b=3, c=6))
expect_equal(nextOr(it, NA), list(a=2, b=4, c=5))
expect_equal(nextOr(it, NA), list(a=2, b=4, c=6))
expect_equal(nextOr(it, NA), NA)
})
test_that("Simplify pastes the index vectors together", {
it <- igrid(a=1:2, b=3:4, c=5:6, simplify=TRUE)
expect_equal(nextOr(it, NA), c(a=1, b=3, c=5))
})
test_that("null igrid", {
it <- igrid(a=numeric(0), b=1:10)
it(or=NA) %is% NA
it <- igrid()
it <- igrid(rowMajor=FALSE)
})
`%do%` <- foreach::`%do%`
foreach <- foreach::foreach
`%:%` <- foreach::`%:%`
test_that("test01", {
actual <- as.list(igrid(x = 1:3, a = letters[1:2], b = list(1), rowMajor=FALSE))
expected <- list(list(x = 1L, a = "a", b = 1), list(x = 1L,
a = "b", b = 1), list(x = 2L, a = "a", b = 1), list(x = 2L,
a = "b", b = 1), list(x = 3L, a = "a", b = 1), list(x = 3L,
a = "b", b = 1))
expect_equal(expected, actual)
})
test_that("test02", {
it <- igrid(a = LETTERS[1:10], b = list(1), x = 1:3, rowMajor=FALSE)
results <- foreach(a = LETTERS[1:10], .combine = "c") %:%
foreach(b = 1, .combine = "c") %:% foreach(x = 1:3, actual = it,
.combine = "c") %do% identical(list(a = a, b = b, x = x),
actual)
expect_true(length(results) == 30)
expect_true(all(results))
})
test_that("test04", {
# there is one way to iterate over no variables...
expect_equal(as.list(igrid()), list(list()))
# simplifying list() gets NULL
expect_equal(as.list(igrid(simplify=TRUE)), list(NULL))
# No ways to iterate over NULL
expect_equal(as.list(igrid(NULL)), list())
})
test_that("test05", {
x <- rnorm(100)
actual <- unlist(as.list(igrid(x)), use.names = FALSE)
expect_equal(x, actual)
})
test_that("test07", {
x <- 1:3
y <- rnorm(5)
z <- letters[1:4]
it <- igrid(a = as.list(x), b = y, c = z, rowMajor=FALSE)
actual <- foreach(d = it, .combine = "rbind") %do% {
as.data.frame(d, stringsAsFactors = FALSE)
}
expected <- expand.grid(c = z, b = y, a = x, stringsAsFactors = FALSE)[3:1]
expect_equal(expected, actual)
})
test_that("chunked igrid", {
x <- igrid(a=letters, b=LETTERS, chunkSize=7, simplify=FALSE)
expected <- expand.grid(a=letters, b=LETTERS,
stringsAsFactors=FALSE, KEEP.OUT.ATTRS=FALSE)[1:7,]
expect_equal(nextOr(x), expected)
x <- igrid(a=letters, b=LETTERS, chunkSize=7, simplify=TRUE)
expected <- as.matrix(expand.grid(
a=letters, b=LETTERS,
stringsAsFactors=FALSE, KEEP.OUT.ATTRS=FALSE)[1:7,])
attr(expected, "dimnames") <- list(NULL, c("a", "b"))
actual <- nextOr(x)
expect_equal(actual, expected)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.