# Read example data
dt_a <- read.csv(system.file("extdata", "test_A.csv", package="cctu"),
colClasses = "character")
dt_b <- read.csv(system.file("extdata", "test_B.csv", package="cctu"),
colClasses = "character")
# Read DLU and CLU
dlu_a <- read.csv(system.file("extdata", "test_A_DLU.csv", package="cctu"))
dlu_b <- read.csv(system.file("extdata", "test_B_DLU.csv", package="cctu"))
clu_a <- read.csv(system.file("extdata", "test_A_CLU.csv", package="cctu"))
clu_b <- read.csv(system.file("extdata", "test_B_CLU.csv", package="cctu"))
com_cols <- c("Trial","Site","Label","PersonId","VisitCycle",
"FormCycle","RepeatNumber")
dt_test <- merge(dt_a, dt_b, by = com_cols, all = TRUE, sort = FALSE)
test_that("Merge works", {
# Merge dataset with merge_data function
res <- merge_data(datalist = list(dt_a, dt_b),
dlulist = list(dlu_a, dlu_b),
clulist = list(clu_a, clu_b))
dt <- res$data
dlu <- res$dlu
clu <- res$clu
expect_equal(nrow(dt), nrow(dt_test))
dlu1 <- paste(dlu_a$ShortCode, 1, sep = "_")
dlu2 <- paste(dlu_b$ShortCode, 2, sep = "_")
clu1 <- paste(clu_a$ShortCode, 1, sep = "_")
clu2 <- paste(clu_b$ShortCode, 2, sep = "_")
expect_true(all(dlu1 %in% dlu$ShortCode))
expect_true(all(dlu2 %in% dlu$ShortCode))
expect_true(all(clu1 %in% clu$ShortCode))
expect_true(all(clu2 %in% clu$ShortCode))
})
test_that("Check error", {
dt_t <- dt_a[, -2]
expect_error(merge_data(datalist = list(dt_t, dt_b),
dlulist = list(dlu_a, dlu_b),
clulist = list(clu_a, clu_b)),
"data in the datalist does not contain all the following")
})
test_that("Check warnings", {
tmp <- read.csv(text="ShortCode,Visit/Form/Question,Description,Type
BRTHDATd,DAY1VISIT/LabRes/BRTHDATd,Participant dob,Date"
)
dlu_t <- rbind(dlu_a, tmp)
expect_warning(merge_data(datalist = list(dt_a, dt_b),
dlulist = list(dlu_t, dlu_b),
clulist = list(clu_a, clu_b)))
tmp <- read.csv(text="ShortCode,CatCode,CatValue
PTONTRIAL,0,No
PTONTRIAL,1,Yes"
)
clu_t <- rbind(clu_a, tmp)
expect_warning(merge_data(datalist = list(dt_a, dt_b),
dlulist = list(dlu_a, dlu_b),
clulist = list(clu_t, clu_b)))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.