test_that("count_files()", {
e <- temp_files()
expect_silent(cnt <- count_files(fs::path_temp()))
expect_s3_class(cnt, "data.frame")
expect_named(cnt, c("dir", "n"))
expect_type(cnt$dir, "character")
expect_type(cnt$n, "integer")
expect_gte(nrow(cnt), length(unique(fs::path_dir(example_files)))) # >= because may have other temp dirs
# Subsets
expect_silent(cnt2 <- count_files(fs::path_temp(), subset = "BARL"))
expect_lt(nrow(cnt2), nrow(cnt))
expect_equal(nrow(cnt2), sum(stringr::str_detect(cnt2$dir, "BARL")))
# Subsets negated
expect_silent(cnt3 <- count_files(fs::path_temp(), subset = "BARL", subset_type = "omit"))
expect_lt(nrow(cnt3), nrow(cnt))
expect_equal(nrow(cnt3), sum(stringr::str_detect(cnt3$dir, "BARL", negate = TRUE)))
unlink(fs::path_dir(e), recursive = TRUE)
})
test_that("check_meta()", {
m <- clean_metadata(project_files = example_files, quiet = TRUE)
expect_silent(chk <- check_meta(m))
expect_s3_class(chk, "data.frame")
expect_named(
chk, c("site_id", "aru_type", "aru_id", "type", "n_files", "n_dirs",
"n_days", "min_date", "max_date", "min_time", "max_time"))
expect_true(all(m$site_id %in% chk$site_id))
expect_true(all(m$aru_id %in% chk$aru_id))
expect_silent(chk2 <- check_meta(m, date = TRUE))
expect_s3_class(chk2, "data.frame")
expect_named(
chk2, c("site_id", "aru_type", "aru_id", "type", "date", "n_files", "n_dirs",
"n_days", "min_time", "max_time"))
expect_true(all(m$date %in% chk2$date))
expect_gt(nrow(chk2), nrow(chk))
})
test_that("check_problems() - basic meta", {
m <- clean_metadata(project_files = example_files, quiet = TRUE)
m$aru_id[c(3, 7, 10)] <- NA_character_
m$site_id[7] <- m$site_id[3]
# Pull out problems
expect_silent(chk <- check_problems(m))
expect_equal(
chk,
m[c(3, 7, 10), c("path", "aru_id", "site_id", "date_time", "date")])
expect_equal(nrow(chk), 3)
# Summarize by date
expect_silent(chk2 <- check_problems(m, date = TRUE))
expect_equal(nrow(chk2), 2)
expect_equal(chk2$date_time_n, c(1, 2))
expect_equal(chk2$date_time_n_na, c(0, 0))
# Identify missing by date
m$date_time[7] <- NA
expect_silent(chk3 <- check_problems(m, date = TRUE))
expect_equal(chk3$date_time_n, c(1, 2))
expect_equal(chk3$date_time_n_na, c(0, 1))
# Return paths
expect_silent(chk4 <- check_problems(m, path = TRUE))
expect_equal(chk4, dplyr::pull(m, "path")[c(3, 7, 10)])
})
test_that("check_problems() - meta with coords", {
m <- clean_metadata(project_files = example_files, quiet = TRUE) |>
add_sites(example_sites_clean, quiet = TRUE) |>
dplyr::arrange(path)
m$aru_id[c(3, 7, 10)] <- NA_character_
m$site_id[7] <- m$site_id[3]
m$latitude[3] <- NA_real_
m$longitude[7] <- NA_real_
# Pull out problems
expect_silent(chk <- check_problems(m))
expect_equal(
chk,
m[c(3, 7, 10), c("path", "aru_id", "site_id", "date_time", "date", "longitude", "latitude")])
expect_equal(nrow(chk), 3)
# Summarize by date
expect_silent(chk2 <- check_problems(m, date = TRUE))
expect_equal(nrow(chk2), 2)
expect_equal(chk2$date_time_n, c(1, 2))
expect_equal(chk2$date_time_n_na, c(0, 0))
expect_equal(chk2$longitude_n, c(1, 2))
expect_equal(chk2$latitude_n, c(1, 2))
expect_equal(chk2$longitude_n_na, c(0, 1))
expect_equal(chk2$latitude_n_na, c(0, 1))
# Return paths
expect_silent(chk4 <- check_problems(m, path = TRUE))
expect_equal(chk4, dplyr::pull(m, "path")[c(3, 7, 10)])
})
test_that("check_file()", {
p <- test_path("test.txt")
writeLines(paste0(paste0("test", 1:20), collapse = "\n"), p)
expect_silent(f <- check_file(p))
expect_equal(paste0("test", 1:10), f)
expect_silent(f <- check_file(p, n_max = 20, progress = FALSE))
expect_equal(paste0("test", 1:20), f)
unlink(p)
})
test_that("add_wildtrax()", {
suppressMessages(m <- clean_metadata(project_files = example_files))
expect_false("wildtrax_file_name" %in% names(m))
expect_silent(m <- add_wildtrax(m))
expect_true("wildtrax_file_name" %in% names(m))
expect_equal(m$wildtrax_file_name[1:2],
c("P01_1_20200502_050000",
"P01_1_20200503_052000"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.