85 lines
1.6 KiB
R
85 lines
1.6 KiB
R
context("parse-data")
|
|
|
|
test_that("parse_df works", {
|
|
|
|
x <- head(iris)
|
|
res <- parse_df(x)
|
|
|
|
expect_is(res, "list")
|
|
expect_length(res, nrow(x))
|
|
expect_length(res[[1]], ncol(x))
|
|
expect_named(res[[1]], NULL)
|
|
})
|
|
|
|
test_that("parse_df works with names", {
|
|
|
|
x <- head(iris)
|
|
res <- parse_df(x, add_names = TRUE)
|
|
|
|
expect_is(res, "list")
|
|
expect_length(res, nrow(x))
|
|
expect_length(res[[1]], ncol(x))
|
|
expect_named(res[[1]], names(x))
|
|
})
|
|
|
|
|
|
test_that("parse_df works with custom names", {
|
|
|
|
x <- head(iris)
|
|
custom <- LETTERS[1:5]
|
|
res <- parse_df(x, add_names = custom)
|
|
|
|
expect_is(res, "list")
|
|
expect_length(res, nrow(x))
|
|
expect_length(res[[1]], ncol(x))
|
|
expect_named(res[[1]], custom)
|
|
})
|
|
|
|
|
|
test_that("parse_df works with Date/POSIXt", {
|
|
|
|
x <- data.frame(
|
|
date = Sys.Date() + 1:5,
|
|
datetime = Sys.time() + 1:5
|
|
)
|
|
res <- parse_df(x, add_names = TRUE)
|
|
|
|
expect_is(res[[1]]$date, "JS_EVAL")
|
|
expect_is(res[[1]]$datetime, "numeric")
|
|
|
|
res <- parse_df(x, add_names = FALSE)
|
|
expect_is(res[[1]][[1]], "JS_EVAL")
|
|
expect_is(res[[1]][[2]], "numeric")
|
|
})
|
|
|
|
|
|
|
|
|
|
test_that("parse_timeline_data work", {
|
|
|
|
timeline1 <- data.frame(
|
|
x = LETTERS,
|
|
start = Sys.Date() + 1:26,
|
|
end = Sys.Date() + 10 + 1:26
|
|
)
|
|
t1 <- parse_timeline_data(timeline1)
|
|
|
|
expect_is(t1, "list")
|
|
expect_length(t1, 26)
|
|
|
|
timeline2 <- data.frame(
|
|
x = LETTERS,
|
|
start = Sys.Date() + 1:26,
|
|
end = Sys.Date() + 10 + 1:26,
|
|
group = rep(c("gr1", "gr2"), each = 13)
|
|
)
|
|
t2 <- parse_timeline_data(timeline2)
|
|
|
|
expect_is(t2, "list")
|
|
expect_length(t2, 2)
|
|
expect_length(t2[[1]]$data, 13)
|
|
})
|
|
|
|
|
|
|