# Check data processing
eps <- if (capabilities("long.double"))
sqrt(.Machine$double.eps) else
0.1
portal_data_path <- tempdir()
data_tables <- load_rodent_data(portal_data_path)
test_that("rodent data.frame has correct column names", {
rats <- data_tables[[1]]
rat_cols <- colnames(rats)
expect_true('month' %in% rat_cols)
expect_true('year' %in% rat_cols)
expect_true('plot' %in% rat_cols)
expect_true('species' %in% rat_cols)
expect_true('period' %in% rat_cols)
expect_true('day' %in% rat_cols)
})
test_that("species data.frame has correct column names", {
sp <- data_tables[[2]]
sp_cols <- colnames(sp)
expect_true('species' %in% sp_cols)
expect_true('unidentified' %in% sp_cols)
expect_true('censustarget' %in% sp_cols)
expect_true('granivore' %in% sp_cols)
})
test_that("clean_rodent_data works", {
expect_error(rodents <- clean_rodent_data(data_tables$rodent_data,
data_tables$species_table), NA)
})
rodents <- clean_rodent_data(data_tables$rodent_data,
data_tables$species_table)
test_that("clean_rodent_data has correct columns", {
rodent_cols <- names(rodents)
expect_true("species" %in% rodent_cols)
expect_true("unidentified" %in% rodent_cols)
expect_true("rodent" %in% rodent_cols)
expect_true("granivore" %in% rodent_cols)
expect_true("wgt" %in% rodent_cols)
expect_true("energy" %in% rodent_cols)
expect_s3_class(rodents$species, "factor")
expect_type(rodents$wgt, "double")
expect_type(rodents$energy, "double")
expect_equal(is.na(rodents$wgt), is.na(rodents$energy), tolerance = eps)
expect_equal(5.69 * rodents$wgt[!is.na(rodents$wgt)] ^ 0.75,
rodents$energy[!is.na(rodents$energy)], tolerance = eps)
})
test_that("does fill_weight work properly?", {
rodents_fillweight <- clean_rodent_data(data_tables$rodent_data,
data_tables$species_table, fillweight = TRUE)
expect_lt(sum(is.na(rodents_fillweight$wgt)),
sum(is.na(rodents$wgt)))
expect_lt(sum(is.na(rodents_fillweight$energy)),
sum(is.na(rodents$energy)))
})
test_that("does process_granivores work properly?", {
rodents_granivores <- clean_rodent_data(data_tables$rodent_data,
data_tables$species_table, type = "Granivores")
expect_equal(rodents_granivores$granivore, rep(1,length(rodents_granivores$granivore)))
expect_false(isTRUE(all.equal(rodents$granivore, rep(1,length(rodents$granivore)))))
})
test_that("does process_unknownsp work properly?", {
rodents_with_unknowns <- clean_rodent_data(data_tables$rodent_data,
data_tables$species_table, unknowns = TRUE)
expect_true("other" %in% rodents_with_unknowns$species)
expect_false("other" %in% rodents$species)
})
test_that("does filter_plots work properly?", {
rodents_longterm <- filter_plots(data_tables$trapping, plots = "longterm")
expect_equal(sort(unique(rodents_longterm$plot)), c(3, 4, 10, 11, 14, 15, 16, 17, 19, 21, 23))
})
test_that("does find_incomplete_censuses work properly?", {
trappings <- data_tables$trapping_table
expect_no_error(fewer_than_24_plots <- find_incomplete_censuses(trappings, 24, 1))
expect_equal(dim(dplyr::filter(fewer_than_24_plots, period < 100)), c(27, 1))
expect_no_error(any_incomplete <- find_incomplete_censuses(trappings, 24, 49))
expect_no_error(missing_traps <- find_incomplete_censuses(trappings, 24, 47))
expect_gt(NROW(any_incomplete), NROW(missing_traps))
periods_47_traps <- setdiff(any_incomplete$period, missing_traps$period)
idx <- periods_47_traps > 320 & periods_47_traps < 450
expect_equal(sum(idx), 114, tolerance = eps)
})
plant_tables <- load_plant_data(portal_data_path)
test_that("quadrat data.frame has correct column names", {
quadrats <- plant_tables[[1]]
quadrat_cols <- colnames(quadrats)
expect_true('year' %in% quadrat_cols)
expect_true('season' %in% quadrat_cols)
expect_true('plot' %in% quadrat_cols)
expect_true('quadrat' %in% quadrat_cols)
expect_true('species' %in% quadrat_cols)
expect_true('abundance' %in% quadrat_cols)
expect_true('cover' %in% quadrat_cols)
})
test_that("species data.frame has correct column names", {
sp <- plant_tables[[2]]
sp_cols <- colnames(sp)
expect_true('species' %in% sp_cols)
expect_true('genus' %in% sp_cols)
expect_true('sp' %in% sp_cols)
expect_true('duration' %in% sp_cols)
expect_true('community' %in% sp_cols)
})
test_that("clean_plant_data works", {
expect_no_error(plants <- clean_plant_data(plant_tables))
})
plants <- clean_plant_data(plant_tables)
test_that("clean_plant_data has correct columns", {
plant_cols <- names(plants)
expect_true("year" %in% plant_cols)
expect_true("season" %in% plant_cols)
expect_true("plot" %in% plant_cols)
expect_true("quadrat" %in% plant_cols)
expect_true("species" %in% plant_cols)
expect_true("abundance" %in% plant_cols)
expect_true("cover" %in% plant_cols)
expect_true("sp" %in% plant_cols)
expect_true('duration' %in% plant_cols)
expect_true('community' %in% plant_cols)
expect_s3_class(plants$species, "factor")
expect_type(plants$abundance, "integer")
expect_type(plants$cover, "double")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.