Nothing
context("children")
test_that("children returns the correct values and classes", {
skip_on_cran() # uses secrets
vcr::use_cassette("children_with_name", {
ch_ncbi <- children("Salmo", db = "ncbi")
})
expect_is(ch_ncbi, "children")
expect_equal(attr(ch_ncbi, "db"), "ncbi")
expect_named(ch_ncbi, "Salmo")
expect_is(ch_ncbi$Salmo, "data.frame")
expect_named(ch_ncbi$Salmo, c('childtaxa_id', 'childtaxa_name', 'childtaxa_rank'))
})
test_that("passing in an id works", {
skip_on_cran() # uses secrets
vcr::use_cassette("children_with_id", {
ch_ncbi <- children(8028, db = "ncbi")
ch_worms <- sw(children(125732, db='worms'))
})
expect_is(ch_worms, "children")
expect_equal(attr(ch_worms, "db"), "worms")
expect_named(ch_worms, '125732')
expect_is(ch_worms$`125732`, "data.frame")
expect_named(ch_worms$`125732`, c('childtaxa_id', 'childtaxa_name', 'childtaxa_rank'))
expect_is(ch_ncbi, "children")
expect_equal(attr(ch_ncbi, "db"), "ncbi")
expect_named(ch_ncbi, '8028')
expect_is(ch_ncbi$`8028`, "data.frame")
expect_named(ch_ncbi$`8028`, c('childtaxa_id', 'childtaxa_name', 'childtaxa_rank'))
})
test_that("queries with no results fail well", {
skip_on_cran() # uses secrets
vcr::use_cassette("children_no_results", {
aa <- children("Saurauia", db = "itis", verbose = FALSE)
})
expect_equal(NROW(aa[[1]]), 0)
})
test_that("itis types are correct", {
skip_on_cran()
itis_expected_col_types <- c(
parentname = 'character',
parenttsn = 'character',
rankname = 'character',
taxonname = 'character',
tsn = 'character'
)
vcr::use_cassette("children_itis_types", {
x <- children(1234123434, "itis")
z <- children(161994, "itis")
})
# for no result
expect_equal(
sapply(x[['1234123434']], class), itis_expected_col_types
)
# for good result
expect_equal(
sapply(z[['161994']], class), itis_expected_col_types
)
})
test_that("rows parameter, when used, works", {
skip_on_cran() # uses secrets
vcr::use_cassette("children_rows_param", {
x <- children("Asdfafsfd", db = "ncbi", rows = 1, messages = FALSE)
})
expect_is(x, "children")
})
test_that("expected results for no query match when using get_* fxns", {
skip_on_cran() # uses secrets
vcr::use_cassette("children_no_results_structure_ncbi_x", {
ncbi_x <- children(get_uid("23424234234", messages = FALSE))
})
vcr::use_cassette("children_no_results_structure_ncbi_y", {
ncbi_y <- children('dragon', db = "ncbi", messages = FALSE)
})
expect_named(ncbi_x, NA_character_)
expect_named(ncbi_y, "dragon")
})
test_that("expected results for no query match when using get_* fxns", {
skip_on_cran()
vcr::use_cassette("children_no_results_structure_x", {
itis_x <- children(get_tsn("23424234234", messages = FALSE))
worms_x <- children(get_wormsid("23424234234", messages = FALSE))
})
vcr::use_cassette("children_no_results_structure_y", {
itis_y <- children("23424234234", db = "itis", messages = FALSE)
worms_y <- children(get_wormsid("23424234234", messages = FALSE))
})
expect_named(itis_x, NA_character_)
expect_named(itis_y, '23424234234')
expect_named(worms_x, NA_character_)
expect_named(worms_y, NA_character_)
})
test_that("children doesn't remove ambiguous taxa", {
skip_on_cran()
vcr::use_cassette("children_ambiguous_ncbi", {
# 28901 = "Salmonella enterica" - DOES NOT remove "subsp."
subsp <- children('28901', db = "ncbi")
# 2508041 = "unclassified Helianthus" - DOES NOT remove "sp."
sp <- children('2508041', db = "ncbi")
})
expect_is(subsp, "children")
expect_is(subsp[[1]], "data.frame")
expect_is(sp, "children")
expect_is(sp[[1]], "data.frame")
expect_gt(NROW(subsp[[1]]), 3)
expect_gt(NROW(sp[[1]]), 3)
})
test_that("warn on mismatch 'db'", {
skip_on_cran()
vcr::use_cassette("children_warn_on_db_mismatch", {
expect_warning(
children(
get_uid("Chironomus riparius", messages = FALSE), db = "itis"))
})
})
test_that("works with source bold", {
skip_on_cran()
vcr::use_cassette("children_bold", {
x_id <- children("88899", db = "bold", messages = FALSE)
x_from_get <- children(get_boldid("Momotus", messages = FALSE))
})
expect_named(x_id, "88899")
expect_named(x_from_get, 'species')
expect_is(x_id, "children")
expect_is(x_id[[1]], "data.frame")
expect_is(x_id[[1]]$name, "character")
expect_match(x_id[[1]]$name, "Momotus")
expect_is(x_from_get, "children")
expect_is(x_from_get[[1]], "data.frame")
expect_is(x_from_get[[1]]$name, "character")
expect_match(x_from_get[[1]]$name, "Momotus")
})
test_that("works with worms, passing through marine_only", {
skip_on_cran()
vcr::use_cassette("children_worms_marine_only", {
a <- children("1837", db = "worms")
b <- children("1837", db = "worms", marine_only = FALSE)
})
expect_is(a, "children")
expect_is(b, 'children')
expect_gt(NROW(b[[1]]), NROW(a[[1]]))
})
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.