Nothing
skip_on_cran()
files <- list.files(path = file.path(system.file(package = "dismo"), "ex"),
pattern = "grd",
full.names = TRUE)
env <- terra::rast(files)
p <- virtualSp$presence
# Add coordinates outside extent to get info message
p <- rbind(c(10, 10), p)
a <- virtualSp$background
test_that("Output is correct", {
swd <- suppressWarnings(prepareSWD(species = "Gypaetus barbatus",
p = p,
a = a,
env = env,
categorical = "biome",
verbose = FALSE))
expect_s4_class(swd, "SWD")
expect_equal(swd@species, "Gypaetus barbatus")
expect_named(swd@data, names(env))
expect_named(swd@coords, c("X", "Y"))
expect_true(is.factor(swd@data$biome))
expect_equal(rownames(swd@data), as.character(seq_along(swd@pa)))
expect_equal(rownames(swd@coords), as.character(seq_along(swd@pa)))
expect_equal(nrow(swd@data), length(swd@pa))
expect_equal(nrow(swd@coords), length(swd@pa))
})
test_that("The function works with only presences or only absences data", {
expect_s4_class(swd <- suppressWarnings(
prepareSWD(species = "Gypaetus barbatus",
p = p,
env = env,
categorical = "biome",
verbose = FALSE)),
"SWD")
expect_true(unique(swd@pa) == 1)
expect_s4_class(swd <- suppressWarnings(
prepareSWD(species = "Gypaetus barbatus",
a = a,
env = env,
categorical = "biome",
verbose = FALSE)),
"SWD")
expect_true(unique(swd@pa) == 0)
})
test_that("The function warns if some locations are discarded", {
# One location
a <- rbind(a, c(100, 100))
expect_snapshot_warning(prepareSWD(species = "Bgs",
a = a,
env = env,
verbose = FALSE))
# More than one location
a <- rbind(a, c(100, 100))
expect_snapshot_warning(prepareSWD(species = "Bgs",
a = a,
env = env,
verbose = FALSE))
})
test_that("The function raises errors", {
expect_snapshot_error(prepareSWD(species = "Bgs",
a = a,
env = "spam"))
})
# TODO: Remove with version 2.0.0
test_that("The function raises an error if a raster object is used", {
class(env) <- "Raster"
expect_snapshot_error(prepareSWD(species = "Bgs",
a = a,
env = env,
verbose = FALSE))
})
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.