Nothing
require(DSI)
require(DSLite)
require(dplyr)
require(dsBase)
require(dsBaseClient)
require(purrr)
data("mtcars")
login_data <- .prepare_dslite("bindRowsDS", NULL, list(mtcars = mtcars))
conns <- datashield.login(login_data)
datashield.assign.table(conns, "mtcars", "mtcars")
test_that("bindRowsDS passes", {
bind_rows_arg <- "mtcars, mtcars"
other_args <- ".id = NULL"
bind_rows_cally <- .make_tidyverse_call(NULL, "bind_rows", bind_rows_arg, other_args, inc_data = F)
result <- eval(bind_rows_cally)
expect_equal(
class(result),
"data.frame"
)
expect_equal(
colnames(result),
c("mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am", "gear", "carb")
)
expect_equal(
dim(result),
c(64, 11)
)
expect_equal(
result %>% map_dbl(mean) %>% round(2),
c(mpg = 20.09, cyl = 6.19, disp = 230.72, hp = 146.69, drat = 3.60, wt = 3.22, qsec = 17.85, vs = 0.44, am = 0.41, gear = 3.69, carb = 2.81)
)
})
test_that("bindRowsDS passes with .id argument", {
bind_rows_arg <- "mtcars, mtcars"
other_args <- ".id = 'test_col_name'"
bind_rows_cally <- .make_tidyverse_call(NULL, "bind_rows", bind_rows_arg, other_args, inc_data = F)
result <- eval(bind_rows_cally)
expect_equal(
colnames(result),
c("test_col_name", "mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am", "gear", "carb")
)
})
test_that("bindRowsDS passes when called directly", {
skip_if_not_installed("dsBaseClient")
cally <- call("bindRowsDS", "mtcars$COMMA$$SPACE$mtcars", NULL)
datashield.assign(conns, "test", cally)
expect_equal(
ds.class("test", datasources = conns)[[1]],
"data.frame"
)
expect_equal(
ds.colnames("test", datasources = conns)[[1]],
c("mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am", "gear", "carb")
)
expect_equal(
ds.dim("test", datasources = conns)[[1]],
c(64, 11)
)
})
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.