Nothing
require(DSI)
require(DSLite)
require(dplyr)
require(dsBase)
require(dsBaseClient)
data("mtcars")
login_data <- .prepare_dslite("arrangeDS", NULL, list(mtcars = mtcars))
conns <- datashield.login(logins = login_data)
datashield.assign.table(conns, "mtcars", "mtcars")
empty_distinct_arg <- character(0)
test_that("distinctDS correctly works where no `expr` argument is provided", {
empty_distinct_cally <- .make_tidyverse_call("mtcars", "distinct", empty_distinct_arg)
out_empty <- eval(empty_distinct_cally)
expect_equal(
class(out_empty),
"data.frame"
)
expect_equal(
dim(out_empty),
c(32, 11)
)
})
test_that("distinctDS correctly works where variables specified in `expr` argument", {
expr_distinct_cally <- .make_tidyverse_call("mtcars", "distinct", "cyl, drat")
out_expr <- eval(expr_distinct_cally)
expect_equal(
class(out_expr),
"data.frame"
)
expect_equal(
dim(out_expr),
c(26, 2)
)
})
test_that("distinctDS correctly works with `.keep_all` argument", {
keep_all_y_cally <- .make_tidyverse_call("mtcars", "distinct", "cyl, drat", ".keep_all = TRUE")
keep_all_y_out <- eval(keep_all_y_cally)
expect_equal(
class(keep_all_y_out),
"data.frame"
)
expect_equal(
dim(keep_all_y_out),
c(26, 11)
)
expect_equal(
colnames(keep_all_y_out),
c("mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am", "gear", "carb")
)
keep_all_n_cally <- .make_tidyverse_call("mtcars", "distinct", "cyl, drat", ".keep_all = FALSE")
keep_all_n_out <- eval(keep_all_n_cally)
expect_equal(
class(keep_all_n_out),
"data.frame"
)
expect_equal(
dim(keep_all_n_out),
c(26, 2)
)
expect_equal(
colnames(keep_all_n_out),
c("cyl", "drat")
)
})
test_that("distinctDS fails when data doesn't exist", {
no_data <- .make_tidyverse_call("doesntexist", "distinct", empty_distinct_arg)
expect_error(
eval(no_data),
"object 'doesntexist' not found"
)
})
test_that("distinctDS passes when called directly", {
skip_if_not_installed("dsBaseClient")
cally <- call("distinctDS", "mpg$COMMA$$SPACE$cyl", "mtcars", FALSE)
datashield.assign(conns, "test_distinct", cally)
expect_equal(
ds.class("test_distinct", datasources = conns)[[1]],
"data.frame"
)
expect_equal(
ds.dim("test_distinct", datasources = conns)[[1]],
c(27, 2)
)
})
test_that("distinctDS fails if subset is too small", {
cally <- call("distinctDS", "mpg$COMMA$$SPACE$cyl$COMMA$$SPACE$drat", "mtcars", FALSE)
expect_error(
datashield.assign(conns, "test_distinct", cally)
)
})
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.