Nothing
context("checkDataTable")
test_that("checkDataTable", {
skip_if_not_physically_installed("data.table")
expect_false(testDataTable(iris))
expect_true("data.table" %in% loadedNamespaces())
dt = data.table::as.data.table(iris)
expect_succ_all("DataFrame", dt)
expect_succ_all("DataTable", dt)
expect_fail_all("DataTable", iris)
expect_true(testDataTable(dt, min.rows = 1, ncols = 5))
expect_false(testDataTable(dt, min.rows = 1000, ncols = 5))
expect_true(testDataTable(dt, key = character(0)))
expect_true(testDataTable(dt, index = character(0)))
data.table::setkeyv(dt, "Species")
expect_true(testDataTable(dt, key = "Species"))
expect_false(testDataTable(dt, index = "Species"))
dt = data.table::as.data.table(iris)
data.table::setkeyv(dt, "Species", physical = FALSE)
expect_false(testDataTable(dt, key = "Species"))
expect_true(testDataTable(dt, index = "Species"))
dt = data.table::as.data.table(iris)
data.table::setkeyv(dt, c("Petal.Width", "Petal.Length"), physical = TRUE)
data.table::setkeyv(dt, c("Sepal.Length", "Sepal.Width"), physical = FALSE)
expect_true(testDataTable(dt, key = c("Petal.Width", "Petal.Length"), index = c("Sepal.Width", "Sepal.Length")))
expect_error(testDataTable(dt, key = 1), "string")
expect_error(testDataTable(dt, index = 1), "string")
expect_error(assertDataTable(dt, key = "Species"), "primary keys")
expect_error(assertDataTable(dt, index = "Species"), "secondary keys")
x = data.table::as.data.table(iris)
expect_true(testDataTable(x, max.rows = 200, max.cols = 5))
expect_false(testDataTable(x, max.rows = 100))
expect_false(testDataTable(x, max.cols = 3))
})
test_that("list columns", {
skip_if_not_physically_installed("data.table")
x = data.table::data.table(a = 1:2, b = list(3, 4))
expect_true(testDataTable(x, any.missing = FALSE))
x$b = list(3, NULL)
expect_true(testDataTable(x, any.missing = FALSE))
expect_true(testDataTable(x, all.missing = FALSE))
x$b = list(NULL, NULL)
expect_true(testDataTable(x, any.missing = FALSE))
expect_true(testDataTable(x, all.missing = FALSE))
})
test_that("nrow for null data tables", {
skip_if_not_physically_installed("data.table")
# c.f. https://github.com/Rdatatable/data.table/issues/3149
M = matrix(1:3, nrow = 3)
M = M[, integer(0)]
DT = data.table::as.data.table(M) # null data table
expect_true(testDataTable(DT, nrows = 0))
})
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.