Nothing
test_that("verbs return a basetable, not a data.table", {
out <- pick(mtcars, c("mpg", "cyl"))
expect_s3_class(out, "basetable")
expect_s3_class(out, "data.frame")
expect_false(inherits(out, "data.table"))
expect_identical(class(as.data.frame(out)), "data.frame")
})
test_that("[.basetable keeps the class and does not drop by default", {
out <- pick(mtcars, c("mpg", "cyl", "disp"))
one_col <- out[, "mpg"]
expect_s3_class(one_col, "basetable")
expect_equal(ncol(one_col), 1L)
rows <- out[1:3, ]
expect_s3_class(rows, "basetable")
expect_equal(nrow(rows), 3L)
expect_type(out[["mpg"]], "double")
})
test_that("print.basetable is compact and returns its input invisibly", {
out <- pick(mtcars, "mpg")
txt <- capture.output(res <- withVisible(print(out)))
expect_false(res$visible)
expect_identical(res$value, out)
expect_match(txt[[1]], "^# basetable: 32 x 1")
expect_true(any(grepl("more rows", txt)))
})
test_that("basetable survives a round-trip through as.data.frame / as.list", {
out <- aggregate(mtcars, by = "cyl", value = "mpg", fun = mean)
df <- as.data.frame(out)
expect_identical(class(df), "data.frame")
expect_equal(df$mpg, out$mpg)
expect_equal(as.list(out)$mpg, out$mpg)
})
test_that("as_basetable() coerces frames, lists and matrices without changing data", {
bt <- as_basetable(data.frame(g = c("a", "b"), x = 1:2))
expect_s3_class(bt, "basetable")
expect_s3_class(bt, "data.frame")
expect_false(inherits(bt, "data.table"))
expect_identical(as.data.frame(bt), data.frame(g = c("a", "b"), x = 1:2))
from_list <- as_basetable(list(g = c("a", "b"), x = 1:2))
expect_s3_class(from_list, "basetable")
expect_equal(from_list$x, 1:2)
from_mat <- as_basetable(matrix(1:4, 2, dimnames = list(NULL, c("a", "b"))))
expect_s3_class(from_mat, "basetable")
expect_equal(from_mat$b, c(3L, 4L))
expect_equal(nrow(as_basetable(data.frame())), 0L)
})
test_that("as_basetable() is a no-op on a basetable and is inverted by as.data.frame()", {
bt <- as_basetable(mtcars)
expect_identical(as_basetable(bt), bt)
expect_identical(class(as.data.frame(bt)), "data.frame")
})
test_that("is_basetable() recognises the class", {
expect_true(is_basetable(as_basetable(mtcars)))
expect_false(is_basetable(mtcars))
expect_false(is_basetable(list(a = 1)))
})
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.