Nothing
context("Manipulation Tests")
base_path <- "c:\\packages\\libr\\tests\\testthat\\data"
base_path <- "./data"
test_that("lib_load() and lib_unload() functions works as expected.", {
libname(dat, base_path, engine = "csv")
# Should not get an error here
suppressWarnings(lib_unload(dat))
lib_load(dat)
expect_equal(nrow(dat.demo_studya), 10)
expect_equal(nrow(dat.demo_studyb), 2)
lib_unload(dat)
expect_equal("dat.demo_studya" %in% ls(), FALSE)
expect_equal("dat.demo_studyb" %in% ls(), FALSE)
})
test_that("lib_size() works as expected.", {
libname(dat, base_path, "csv")
expect_equal(lib_size(dat) > 0, TRUE)
expect_equal(lib_size(dat) < 900, TRUE)
})
test_that("lib_info() works as expected.", {
libname(dat, base_path, "csv")
info <- lib_info(dat)
expect_equal(nrow(info) > 0, TRUE)
expect_equal(info[1, "Size"] != "" , TRUE)
})
test_that("lib_path() works as expected.", {
libname(dat, base_path, "csv")
pth <- lib_path(dat)
expect_equal(pth, base_path)
})
test_that("lib_sync() function works as expected.", {
libname(dat, base_path, engine = "csv")
ld <- is.loaded.lib("dat")
expect_equal(ld, FALSE)
lib_load(dat)
ld <- is.loaded.lib("dat")
expect_equal(ld, TRUE)
acount <- nrow(dat.demo_studya)
bcount <- nrow(dat.demo_studyb)
tmp <- dat.demo_studya
dat.demo_studya <- dat.demo_studyb
dat.demo_studyb <- tmp
dat <- lib_sync(dat)
expect_equal(nrow(dat$demo_studya), bcount)
expect_equal(nrow(dat$demo_studyb), acount)
lib_unload(dat)
ld <- is.loaded.lib("dat")
expect_equal(ld, FALSE)
})
test_that("lib_sync() function can add a new item from workspace.", {
libname(dat, base_path, engine = "csv")
lib_load(dat)
dat.demo_studyc <- mtcars
lib_sync(dat)
expect_equal(length(dat), 3)
})
test_that("lib_unload() function can add a new item from workspace.", {
libname(dat, base_path, engine = "csv")
lib_load(dat)
dat.demo_studyc <- mtcars
lib_unload(dat)
expect_equal(length(dat), 3)
})
test_that("lib_add() function works as expected unloaded.", {
alt_path <- tempdir()
libname(dat, alt_path)
lib_add(dat, mtcars, iris)
inf <- lib_info(dat)
expect_equal(length(dat), 2)
expect_equal(nrow(inf), 2)
lib_add(dat, mtcars, iris, name = c("fork", "bork"))
expect_equal(length(dat), 4)
lib_delete(dat)
})
test_that("lib_add() function works as expected loaded.", {
alt_path <- tempdir()
libname(dat, alt_path)
lib_load(dat)
lib_add(dat, mtcars, iris)
inf <- lib_info(dat)
expect_equal(length(dat), 2)
expect_equal(nrow(inf), 2)
lib_add(dat, mtcars, iris, name = c("fork", "bork"))
expect_equal(length(dat), 4)
lib_unload(dat)
lib_delete(dat)
})
test_that("lib_remove() work as expected with multiple names.", {
alt_path <- tempdir()
libname(dat, alt_path)
lib_add(dat, mtcars, iris)
expect_equal(length(dat), 2)
lib_remove(dat, c("mtcars", "iris"))
expect_equal(length(dat), 0)
lib_delete(dat)
})
test_that("lib_add(), lib_remove() functions work as expected unloaded.", {
alt_path <- tempdir()
libname(dat, alt_path)
lib_add(dat, mtcars, iris)
expect_equal(length(dat), 2)
lib_remove(dat, "mtcars")
expect_equal(length(dat), 1)
lib_delete(dat)
})
test_that("lib_add(), lib_remove() functions work as expected loaded.", {
alt_path <- tempdir()
libname(dat, alt_path)
lib_load(dat)
lib_add(dat, mtcars, iris)
expect_equal(length(dat), 2)
lib_remove(dat, "mtcars")
expect_equal(length(dat), 1)
lib_remove(dat, "iris")
expect_equal(length(dat), 0)
lib_unload(dat)
lib_delete(dat)
})
# This idea was killed a long time ago. Now all libnames are of a single type.
# test_that("lib_add() function can add a new items of different types.", {
#
# alt_path <- tempdir()
# libname(dat, alt_path)
#
# # RDS
# lib_add(dat, mtcars)
#
# res <- file.exists(file.path(alt_path, "mtcars.rds"))
#
# expect_equal(res, TRUE)
#
# lib_remove(dat, "mtcars")
#
# # CSV
#
# lib_add(dat, mtcars, type = "csv")
#
# res <- file.exists(file.path(alt_path, "mtcars.csv"))
#
# expect_equal(res, TRUE)
#
# lib_remove(dat, "mtcars")
#
#
#
# # sas7bdat
#
# lib_add(dat, mtcars, type = "sas7bdat")
#
# res <- file.exists(file.path(alt_path, "mtcars.sas7bdat"))
#
# expect_equal(res, TRUE)
#
# lib_remove(dat, "mtcars")
#
#
#
# # XLS
# lib_add(dat, mtcars, engine = "xls")
#
# res <- file.exists(file.path(alt_path, "mtcars.xlsx"))
#
# expect_equal(res, TRUE)
#
# lib_remove(dat, "mtcars")
#
#
#
# # xlsx
#
# lib_add(dat, mtcars, engine = "xlsx")
#
# res <- file.exists(file.path(alt_path, "mtcars.xlsx"))
#
# expect_equal(res, TRUE)
#
# lib_remove(dat, "mtcars")
#
# # Clear out
#
# lib_delete(dat)
# })
test_that("lib_write() function can add a new item and save as rds.", {
alt_path <- tempdir()
libname(dat, alt_path)
lib_add(dat, mtcars)
lib_write(dat)
res <- file.exists(file.path(alt_path, "mtcars.rds"))
expect_equal(res, TRUE)
lib_remove(dat, "mtcars")
lib_delete(dat)
})
test_that("lib_add() function can add a new item and save as csv", {
alt_path <- tempdir()
libname(dat, alt_path, engine = "csv")
lib_add(dat, mtcars)
res <- file.exists(file.path(alt_path, "mtcars.csv"))
expect_equal(res, TRUE)
lib_delete(dat)
})
test_that("lib_add() function can add a new item and save as xslx", {
alt_path <- tempdir()
libname(dat, alt_path, engine = "xlsx")
lib_add(dat, mtcars)
res <- file.exists(file.path(alt_path, "mtcars.xlsx"))
expect_equal(res, TRUE)
lib_delete(dat)
})
test_that("lib_add() function can add a new item and save as rds", {
alt_path <- tempdir()
libname(dat, alt_path, engine = "rds")
lib_add(dat, mtcars)
res <- file.exists(file.path(alt_path, "mtcars.rds"))
expect_equal(res, TRUE)
lib_delete(dat)
})
test_that("lib_add() function can add a new item and save as sas7bdat", {
alt_path <- tempdir()
libname(dat, alt_path, engine = "sas7bdat")
lib_add(dat, mtcars)
res <- file.exists(file.path(alt_path, "mtcars.sas7bdat"))
#expect_equal(res, TRUE)
expect_equal(res, FALSE) # FALSE for now
lib_delete(dat)
})
test_that("lib_write() function can add a new item to sas7bdat libname from workspace.", {
alt_path <- tempdir()
libname(dat, alt_path, engine = "sas7bdat")
lib_load(dat)
dat.demo_studyc <- mtcars
lib_write(dat)
pth <- file.path(lib_path(dat), "demo_studyc.sas7bdat")
res <- file.exists(pth)
# expect_equal(res, TRUE)
expect_equal(res, FALSE) # For now this is false. Hope to make it true in the future.
lib_delete(dat)
})
test_that("lib_write() function can add a new item from workspace.", {
alt_path <- tempdir()
libname(dat, alt_path, engine = "csv")
lib_load(dat)
dat.demo_studyc <- mtcars
lib_write(dat)
pth <- file.path(lib_path(dat), "demo_studyc.csv")
res <- file.exists(pth)
expect_equal(res, TRUE)
lib_delete(dat)
})
test_that("lib_copy() works as expected.", {
alt_path <- tempdir()
libname(dat, base_path, "csv")
lib_copy(dat, dat2, alt_path)
expect_equal(file.exists(file.path(alt_path, "demo_studyb.csv")), TRUE)
lib_delete(dat2)
})
test_that("read-only flag works as expected.", {
libname(dat, base_path, "csv", read_only = TRUE)
expect_error(lib_add(dat, mtcars))
expect_error(lib_remove(dat, "demo_studya"))
expect_error(lib_delete(dat))
expect_error(lib_write(dat))
expect_error(lib_replace(dat, mtcars, "demo_studya"))
})
test_that("lib_write non-changed csv data works as expected.", {
alt_path <- tempdir()
libname(dat, base_path, "csv")
lib_copy(dat, dat2, alt_path)
info1 <- lib_info(dat2)
Sys.sleep(2)
lib_replace(dat2, mtcars, name = "demo_studya")
info2 <- lib_info(dat2)
d1 <- subset(info1, Name == "demo_studya")
d2 <- subset(info2, Name == "demo_studya")
d3 <- subset(info1, Name == "demo_studyb")
d4 <- subset(info2, Name == "demo_studyb")
expect_equal(d1[1, 6] == d2[1, 6], FALSE)
expect_equal(d3[1, 6] == d4[1, 6], TRUE)
lib_delete(dat2)
})
test_that("lib_write non-changed rds data works as expected.", {
alt_path <- tempdir()
libname(dat, base_path, "rds")
lib_copy(dat, dat2, alt_path)
info1 <- lib_info(dat2)
Sys.sleep(2)
lib_replace(dat2, mtcars, name = "demo_studya")
info2 <- lib_info(dat2)
d1 <- subset(info1, Name == "demo_studya")
d2 <- subset(info2, Name == "demo_studya")
d3 <- subset(info1, Name == "demo_studyb")
d4 <- subset(info2, Name == "demo_studyb")
expect_equal(d1[1, 6] == d2[1, 6], FALSE)
expect_equal(d3[1, 6] == d4[1, 6], TRUE)
lib_delete(dat2)
})
test_that("lib_write non-changed sas7bdat data works as expected.", {
alt_path <- tempdir()
libname(dat, base_path, "sas7bdat")
lib_copy(dat, dat2, alt_path)
info1 <- lib_info(dat2)
Sys.sleep(2)
lib_replace(dat2, mtcars, name = "demo_studya")
info2 <- lib_info(dat2)
d1 <- subset(info1, Name == "demo_studya")
d2 <- subset(info2, Name == "demo_studya")
d3 <- subset(info1, Name == "demo_studyb")
d4 <- subset(info2, Name == "demo_studyb")
expect_equal(d1[1, 5] == d2[1, 5], FALSE)
expect_equal(d3[1, 5] == d4[1, 5], TRUE)
lib_delete(dat2)
})
test_that("lib_write non-changed xlsx data works as expected.", {
alt_path <- tempdir()
libname(dat, base_path, "xlsx")
lib_copy(dat, dat2, alt_path)
info1 <- lib_info(dat2)
Sys.sleep(2)
lib_replace(dat2, mtcars, name = "demo_studya")
lib_write(dat2)
info2 <- lib_info(dat2)
expect_equal(info1[2, 6] == info2[2, 6], TRUE)
expect_equal(info1[1, 6] == info2[1, 6], FALSE)
lib_delete(dat2)
})
test_that("force option works as expected.", {
tmp <- tempdir()
libname(dat, tmp)
lib_add(dat, mtcars)
res <- lib_info(dat)
Sys.sleep(2)
lib_write(dat, force = TRUE)
res2 <- lib_info(dat)
expect_equal(res[1, 6] == res2[1, 6], FALSE)
lib_delete(dat)
})
test_that("xpt engine works as expected.", {
tmp <- tempdir()
libname(dat, tmp, "xpt")
lib_add(dat, mtcars)
expect_equal(file.exists(file.path(tmp, "mtcars.xpt")), TRUE)
libname(dat2, tmp, "xpt")
expect_equal(nrow(dat2$mtcars), 32)
lib_delete(dat)
lib_delete(dat2)
})
test_that("Read existing xpt files.", {
tmp <- tempdir()
libname(dat, base_path, "xpt", filter = "ad*")
expect_equal(length(dat), 2)
expect_equal(nrow(dat$adae), 1191)
expect_equal(nrow(dat$adsl), 254)
})
test_that("dbf engine works as expected.", {
tmp <- tempdir()
libname(dat, tmp, "dbf")
lib_add(dat, mtcars)
expect_equal(file.exists(file.path(tmp, "mtcars.dbf")), TRUE)
libname(dat2, tmp, "dbf")
expect_equal(nrow(dat2$mtcars), 32)
lib_delete(dat)
lib_delete(dat2)
})
test_that("dbf engine works as expected with tibble.", {
tmp <- tempdir()
libname(dat, tmp, "dbf")
lib_add(dat, as_tibble(mtcars), name = "mtcars")
expect_equal(file.exists(file.path(tmp, "mtcars.dbf")), TRUE)
libname(dat2, tmp, "dbf")
expect_equal(nrow(dat2$mtcars), 32)
lib_delete(dat)
lib_delete(dat2)
})
test_that("lib_load() function works as expected with filter", {
libname(dat, file.path( base_path, "SDTM"),
engine = "sas7bdat")
lib_load(dat, c("ae", "dm", "lb", "vs"))
d <- ls()
expect_equal(all(c("dat.ae", "dat.dm", "dat.lb", "dat.vs") %in% d), TRUE)
expect_equal(any(c("dat.da", "dat.ds", "dat.ex", "dat.pe") %in% d), FALSE)
lib_unload(dat)
lib_load(dat, filter = c("*e"))
d <- ls()
expect_equal(all(c("dat.ae", "dat.ie", "dat.pe") %in% d), TRUE)
expect_equal(any(c("dat.da", "dat.ds", "dat.ex", "dat.lb") %in% d), FALSE)
lib_unload(dat)
lib_load(dat, filter = c("d*", "ex", "qs"))
d <- ls()
expect_equal(all(c("dat.da", "dat.dm", "dat.ds", "dat.ds_ihor",
"dat.ex", "dat.qs") %in% d), TRUE)
expect_equal(any(c("dat.ae", "dat.lb", "dat.pe", "dat.ie") %in% d), FALSE)
lib_unload(dat)
})
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.