Nothing
context("Append datasets")
test_that("crunchTimeout", {
with(
temp.option(crunch = list(crunch.timeout = 7)),
expect_identical(crunchTimeout(), 7)
)
with(
temp.option(crunch = list(crunch.timeout = NULL)),
expect_identical(crunchTimeout(), 900)
)
with(
temp.option(crunch = list(crunch.timeout = list())),
expect_identical(crunchTimeout(), 900)
)
})
with_mock_crunch({
ds <- cachedLoadDataset("test ds")
test_that("Cannot append dataset to itself", {
expect_error(
appendDataset(ds, ds),
"Cannot append dataset to itself"
)
})
ds1 <- cachedLoadDataset("test ds")
ds2 <- cachedLoadDataset("ECON.sav")
test_that("append DELETEs the pk", {
expect_DELETE(
appendDataset(ds2, ds1),
"https://app.crunch.io/api/datasets/3/pk/"
)
})
test_that("append doesn't DELETE the pk if upsert=TRUE", {
expect_POST(
appendDataset(ds2, ds1, upsert = TRUE),
"https://app.crunch.io/api/datasets/3/batches/",
'{"element":"shoji:entity","body":{"dataset":',
'"https://app.crunch.io/api/datasets/1/"}}'
)
})
})
with_test_authentication({
part1 <- newDataset(df)
part2 <- newDataset(df)
cats <- categories(part1$v4)
## Set a primary key to test that it gets unset
pk(part2) <- part2$v3
v3.1 <- as.vector(part1$v3)
v3.2 <- as.vector(part2$v3)
test_that("Setup for appending (mostly) identical datasets", {
expect_true(is.numeric(v3.1))
expect_true(is.numeric(v3.2))
expect_equivalent(v3.1, df$v3)
expect_equivalent(v3.2, df$v3)
expect_identical(dim(part1), dim(part2))
expect_identical(dim(part1), dim(df))
expect_length(batches(part1), 1)
expect_length(batches(part2), 1)
expect_equal(pk(part2), part2$v3)
})
out <- appendDataset(part1, part2)
test_that("append handles two identical Datasets", {
expect_true(is.dataset(out))
expect_identical(self(out), self(part1))
expect_length(batches(out), 2)
expect_identical(dim(out), c(nrow(df) * 2L, ncol(df)))
expect_identical(getNrow(out), nrow(df) * 2L)
expect_identical(nrow(out), length(as.vector(out$v3)))
expect_identical(categories(out$v4), cats)
expect_equivalent(as.vector(out$v3), rep(df$v3, 2))
expect_identical(as.vector(out$v3), c(v3.1, v3.2))
})
test_that("append removes the primary key if there is one", {
expect_null(pk(out))
})
})
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.