context("utilities")
test_that("neon_export()/neon_import()", {
skip_on_cran()
skip_if_offline()
skip_on_os("solaris")
neondir1 <- tempfile("meta1")
x <- neon_download(product = "DP1.10003.001",
site = "YELL",
start_date = "2018-05-01",
end_date = "2018-08-01",
dir = neondir1)
meta1 <- neon_index(dir = neondir1)
archive <- tempfile(fileext = ".zip")
suppressMessages({
meta <- neon_export(archive, dir = neondir1)
})
expect_true(file.exists(archive))
expect_is(meta, "data.frame")
## now restore from archive to new store
neondir <- tempfile("meta2")
expect_null( neon_index(dir = neondir) )
## restore
neon_import(archive, dir = neondir)
meta2 <- neon_index(dir = neondir)
expect_false(is.null(meta2))
expect_equal(sort(basename(meta1$path)), sort(basename(meta2$path)))
## error handling
x <- neon_export(product = "not-a-product")
expect_null(x)
expect_warning(
x <- neon_import("not-a-product")
)
expect_null(x)
})
test_that("filename_parser()", {
x <- c(
"NEON.D01.BART.DP1.10003.001.brd_countdata.2015-06.expanded.20191107T154457Z.csv",
"NEON.D01.BART.DP0.10003.001.validation.20191107T152154Z.csv",
"NEON.D01.BART.DP1.10003.001.brd_countdata.2015-06.basic.20191107T154457Z.csv",
"NEON.D01.BART.DP1.10003.001.brd_references.expanded.20191107T152154Z.csv",
"NEON.D01.BART.DP1.10003.001.2019-06.basic.20191205T150213Z.zip",
"NEON.D01.HARV.DP1.10022.001.bet_sorting.2014-06.basic.20200504T173728Z.csv",
"NEON.D03.SUGG.DP1.20288.001.103.100.100.waq_instantaneous.2018-01.expanded.20190618T023102Z.csv"
)
meta <- filename_parser(x)
expect_is(meta, "data.frame")
expect_equal(dim(meta), c(7,12))
expect_true(any(grepl("DP1.10003.001", meta$product)))
expect_true(any(grepl("brd_countdata", meta$table)))
})
test_that("neon_citation()", {
x <- neon_citation(dir = tempfile())
expect_is(x, "bibentry")
x <- neon_citation("DP1.10003.001")
expect_is(x, "bibentry")
expect_true(grepl("DP1.10003", x))
## shorter format
y <- neon_citation(c("DP1.10001.001","DP1.10002.001","DP1.10003.001",
"DP1.10004.001","DP1.10005.001","DP1.10006.001"))
expect_is(y, "bibentry")
expect_false(grepl("DP1.10003", y))
})
test_that("na_bool_to_char", {
df <- data.frame(A = 1:2, B = NA, C = "text", D = c(NA, TRUE), E = NA,
stringsAsFactors = FALSE)
df2 <- na_bool_to_char(df)
type <- vapply(df2, class, "", USE.NAMES = FALSE)
expect_identical(type, c("integer", "character", "character",
"logical", "character"))
})
test_that("unzip_all()", {
x <- unzip_all(".", tempdir(), keep_zips = FALSE)
expect_true(TRUE)
})
test_that("verify_hash()", {
x <- tempfile()
write.csv(mtcars, x, fileEncoding = "UTF-8")
expect_warning({ # when hash is wrong
verify_hash(x, "b9b8491fb7db639da62a048e414becdb", verify = TRUE)
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.