## load packages library("testthat") library("neotoma2") context("Run Neotoma `test_sites` only when not on CRAN") test_that("get_sites runs as expected.", { ## we don't want this to run on CRAN skip_on_cran() alexander_lake <- get_sites(sitename = "Alexander Lake") # Check that sites' names are only Alexander Lake expect_identical(alexander_lake[[1]]@sitename, "Alexander Lake") }) test_that("get_sites runs as expected.", { ## we don't want this to run on CRAN skip_on_cran() alex <- get_sites(sitename = "Alex%") # Check that sites' names are only Alexander Lake for (i in seq_len(length(alex))) { alex_char <- substring(alex[[i]]@sitename, 1,4) alex_char <- tolower(alex_char) expect_identical(alex_char, "alex") } }) test_that("get_sites runs as expected.", { ## we don't want this to run on CRAN skip_on_cran() site.1001 <- get_sites(1001) # Check that sites' id matches 1001 expect_equal(site.1001[[1]]@siteid, 1001) }) test_that("get_sites runs as expected.", { ## we don't want this to run on CRAN skip_on_cran() sites.ob <- get_sites(c(1001, 2001, 15, 24)) sites.vec <- getids(sites.ob) sites.vec <- unique(sites.vec$siteid) # Check that sites' id matches 1001 expect_setequal(sites.vec, c(1001, 2001, 15, 24)) }) test_that("All Czech sites work with different spatial bounds:", { skip_on_cran() cz_json <- '{"type": "Polygon", "coordinates": [[ [12.40, 50.14], [14.10, 48.64], [16.95, 48.66], [18.91, 49.61], [15.24, 50.99], [12.40, 50.14]]]}' cz_WKT <- 'POLYGON ((12.4 50.14, 14.1 48.64, 16.95 48.66, 18.91 49.61, 15.24 50.99, 12.4 50.14))' cz_bbox <- c(12.4, 48.64, 18.91, 50.99) testthat::expect_true(all.equal(get_sites(loc=cz_json), get_sites(loc=cz_WKT))) # Now, we know that all sites in cz_sites[[1]] should be in cz_sites[[3]], # but the bounding box strategy means that the reverse is not true: cz_ids <- getids(get_sites(loc=cz_json[1])) testthat::expect_true(all(cz_ids$siteid %in% getids(get_sites(loc = cz_bbox, limit = 50))$siteid)) }) test_that("All Data + loc work", { skip_on_cran() europe_json <- '{"type": "Polygon", "coordinates": [ [[-23.5546875, 70.8446726342528], [-25.3125, 39.36827914916014], [61.87499999999999, 39.36827914916014], [62.57812500000001, 74.01954331150228], [-23.5546875, 70.8446726342528]] ]}' data <- get_sites(loc = europe_json[1], all_data = TRUE) testthat::expect_gt(length(data), 50) # Now, we know that all sites in cz_sites[[1]] should be in cz_sites[[3]], # but the bounding box strategy means that the reverse is not true: })