Nothing
context("Handling append conflicts")
with_test_authentication({
whereas("When attempting to append an array and a numeric", {
part1 <- mrdf.setup(newDataset(mrdf))
part2 <- newDataset(mrdf[c("mr_3", "v4")])
alias(part2$mr_3) <- "CA"
name(part2$CA) <- "Bad var"
test_that("setup for append array type mismatch", {
expect_length(batches(part1), 1)
expect_true("CA" %in% names(part1))
expect_true("CA" %in% names(part2))
expect_true(is.CA(part1$CA))
expect_true(is.Numeric(part2$CA))
expect_prints(
batches(part1),
get_output(data.frame(
status = c("imported")
))
)
})
test_that("compareDatasets catches that", {
comp <- compareDatasets(part1, part2)
expect_prints(summary(comp), "Type mismatch: 1")
})
test_that("If the append fails and reports conflict, and the batch is backed out", {
expect_prints(
batches(part1),
get_output(data.frame(
status = c("imported")
))
)
expect_message(
expect_error(
part1 <- appendDataset(part1, part2),
"Variable 'CA' is an array in one dataset and not the other"
),
NA
) ## No Result URL printed because autorollback=TRUE
expect_setequal(as.data.frame(batches(part1))$status, c("imported", "error"))
})
})
whereas("When attempting to append text and numeric", {
part1 <- newDataset(df[, 2:5])
d2 <- df
d2$v2 <- d2$v3 ## v2 was text, now is numeric
part2 <- newDataset(d2)
test_that("compareDatasets catches that", {
comp <- compareDatasets(part1, part2)
expect_prints(summary(comp), "Type mismatch: 1")
})
test_that("Append detects text/numeric type mismatch", {
expect_error(
appendDataset(part1, part2),
"Type of 'v2' does not match target and cannot be converted."
)
})
})
})
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.