# Test: mland() arguments
test_that("loads MultiLand successfully", {
expect_s4_class({
elchaco <- terra::rast(system.file("extdata", "elchaco.tif", package = "multilandr"))
elchaco_sites <- terra::vect(system.file("extdata", "elchaco_sites.gpkg", package = "multilandr"))
mland(points_layer = elchaco_sites,
rast_layer = elchaco,
radii = seq(1000, 5000, 1000),
site_ref = "name",
rast_names = "landcover",
segs = 20,
progress = F)
}, "MultiLand")
expect_error({
elchaco <- terra::rast(system.file("extdata", "elchaco.tif", package = "multilandr"))
elchaco_sites <- terra::vect(system.file("extdata", "elchaco_sites.gpkg", package = "multilandr"))
mland(points_layer = elchaco_sites2,
rast_layer = elchaco,
radii = seq(1000, 5000, 1000),
site_ref = "name",
rast_names = "landcover",
segs = 20,
progress = F)
})
expect_error({
elchaco <- terra::rast(system.file("extdata", "elchaco.tif", package = "multilandr"))
elchaco_sites <- terra::vect(system.file("extdata", "elchaco_sites.gpkg", package = "multilandr"))
mland(points_layer = elchaco_sites,
rast_layer = elchaco,
radii = c("a", "b", "c"),
site_ref = "name",
rast_names = "landcover",
segs = 20,
progress = F)
}, "- argument 'radii' must be a vector of positive numbers.")
expect_warning({
elchaco <- terra::rast(system.file("extdata", "elchaco.tif", package = "multilandr"))
elchaco_sites <- terra::vect(system.file("extdata", "elchaco_sites.gpkg", package = "multilandr"))
mland(points_layer = elchaco_sites,
rast_layer = elchaco,
radii = seq(1000, 5000, 1000),
site_ref = "site",
rast_names = "landcover",
segs = 20,
progress = F)
})
expect_warning({
elchaco <- terra::rast(system.file("extdata", "elchaco.tif", package = "multilandr"))
elchaco_sites <- terra::vect(system.file("extdata", "elchaco_sites.gpkg", package = "multilandr"))
mland(points_layer = elchaco_sites,
rast_layer = elchaco,
radii = seq(1000, 5000, 1000),
site_ref = "name",
class_names = c(1, "Forest",
2, "Grassland",
3, "Crops",
4, "Pastures",
5, "Water",
6, "Urban"),
rast_names = "landcover",
segs = 20,
progress = F)
})
expect_warning({
elchaco <- terra::rast(system.file("extdata", "elchaco.tif", package = "multilandr"))
elchaco_sites <- terra::vect(system.file("extdata", "elchaco_sites.gpkg", package = "multilandr"))
mland(points_layer = elchaco_sites,
rast_layer = elchaco,
radii = seq(1000, 5000, 1000),
site_ref = "name",
class_names = list(c(1, "Forest",
2, "Grassland",
3, "Crops")),
rast_names = "landcover",
segs = 20,
progress = F)
})
})
# Test: mland_overlap()
ernesdesign <- system.file("extdata", "ernesdesign.zip", package = "multilandr")
ernesdesign <- suppressMessages(mland_load(ernesdesign))
test_that("perform overlapping calculations", {
expect_error({
mland_overlap(ernesdesign, points = 17:20)
})
expect_warning({
mland_overlap(ernesdesign, points = 1:2, title = "site")
})
})
# Test: generate_points
# Loads raster
elchaco <- terra::rast(system.file("extdata", "elchaco.tif", package = "multilandr"))
test_that("generation of points is going fine", {
expect_s4_class({
generate_points(elchaco, approach = "random", values = 1, n = 500, progress = F)},
"SpatVector")
expect_equal({
pp <- generate_points(elchaco, approach = "patch",
patch_conditions = conditions(list(1, "area", 8, 8.1)), progress = F)
length(pp)
}, 35)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.