Nothing
context("auk_zerofill")
test_that("auk_zerofill zerofill works normally", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
zf <- auk_zerofill(x = f_ebd, sampling_events = f_smpl)
expect_is(zf, "auk_zerofill")
expect_is(zf$observations, "data.frame")
expect_is(zf$sampling_events, "data.frame")
expect_named(zf$observations,
c("checklist_id", "scientific_name",
"breeding_code", "breeding_category",
"behavior_code", "age_sex",
"observation_count", "species_observed"))
expect_equal(
anyDuplicated(zf$observations[, c("checklist_id", "scientific_name")]),
0)
})
test_that("auk_zerofill input types", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
ebd <- auk_ebd(f_ebd, f_smpl) %>%
auk_complete()
ebd$output <- f_ebd
ebd$output_sampling <- f_smpl
zf_f <- auk_zerofill(f_ebd, f_smpl)
zf_ebd <- auk_zerofill(ebd)
zf_df <- auk_zerofill(read_ebd(f_ebd), read_sampling(f_smpl))
expect_equal(zf_f, zf_ebd)
expect_equal(zf_ebd, zf_df)
})
test_that("auk_zerofill subset by species", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
zf <- auk_zerofill(x = f_ebd, sampling_events = f_smpl,
species = "Collared Kingfisher")
expect_true(all(zf$observations$scientific_name == "Todiramphus chloris"))
expect_equal(anyDuplicated(zf$observations[, "checklist_id"]), 0)
})
test_that("auk_zerofill return a data frame", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
zf <- auk_zerofill(x = f_ebd, sampling_events = f_smpl, collapse = TRUE)
expect_is(zf, "data.frame")
expect_equal(
anyDuplicated(zf[, c("checklist_id", "scientific_name")]),
0)
})
test_that("collapse_zerofill converts an auk_zerofill object to df", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
zf <- auk_zerofill(x = f_ebd, sampling_events = f_smpl)
expect_is(collapse_zerofill(zf), "data.frame")
})
test_that("auk_zerofill prints method", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
zf <- auk_zerofill(x = f_ebd, sampling_events = f_smpl)
p_format <- "Zero-filled EBD: [,0-9]+ unique checklists, for [0-9]+ species."
expect_output(print(zf), p_format)
})
test_that("auk_zerofill error is auk_unique() hasn't been run", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
zf <- auk_zerofill(x = f_ebd, sampling_events = f_smpl)
ebd <- read_ebd(f_ebd, unique = FALSE)
smp <- read_sampling(f_smpl, unique = FALSE)
expect_error(auk_zerofill(ebd, smp, unique = FALSE))
ebd <- auk_unique(ebd)
expect_error(auk_zerofill(ebd, smp, unique = FALSE))
})
test_that("auk_zerofill lack of complete checklists throws error", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
ebd <- read_ebd(f_ebd)
smpl <- read_sampling(f_smpl)
smpl$all_species_reported[sample(seq_len(nrow(smpl)), 3)] <- FALSE
expect_error(auk_zerofill(ebd, smpl))
expect_warning(auk_zerofill(ebd, smpl, complete = FALSE))
})
test_that("auk_zerofill throws errors with bad input data", {
f_ebd <- system.file("extdata/zerofill-ex_ebd.txt", package = "auk")
f_smpl <- system.file("extdata/zerofill-ex_sampling.txt", package = "auk")
ebd <- auk_ebd(f_ebd, f_smpl) %>%
auk_complete()
expect_error(auk_zerofill(ebd))
ebd$output <- f_ebd
expect_error(auk_zerofill(ebd))
ebd$output_sampling <- f_smpl
expect_error(auk_zerofill(ebd, species = "asdf"))
expect_error(auk_zerofill(ebd, species = "Blue Jay"))
expect_warning(auk_zerofill(ebd, species = c("Collared Kingfisher",
"Blue Jay")))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.