test_that("spatialize_lsm returns all selected metrics", {
result <- spatialize_lsm(landscape, what = c("lsm_p_area",
"lsm_p_contig",
"lsm_p_perim"),
verbose = FALSE)
expect_length(object = result, n = 1)
expect_equal(object = names(result[[1]]),
expected = c("lsm_p_area", "lsm_p_contig", "lsm_p_perim"))
expect_true(object = all(sapply(result[[1]], class) == "SpatRaster"))
})
test_that("spatialize_lsm returns returns correct type of metrics", {
metrics <- list_lsm(level = "patch", type = "shape metric", simplify = TRUE)
result <- spatialize_lsm(landscape, type = "shape metric",
verbose = FALSE)
result_all <- spatialize_lsm(landscape, verbose = FALSE)
expect_equal(object = names(result[[1]]),
expected = metrics)
expect_equal(object = names(result_all[[1]]),
expected = list_lsm(level = "patch", simplify = TRUE))
})
test_that("spatialize_lsm returns CRS", {
skip_on_cran()
# CRS(Raster*) before comparing, or terra::same.crs(x, y).
result <- spatialize_lsm(podlasie_ccilc, what = "lsm_p_area",
verbose = FALSE)
# CRS(Raster*) before comparing, or terra::same.crs(x, y).
expect_true(object = terra::same.crs(x = result[[1]][[1]],
y = podlasie_ccilc))
})
test_that("spatialize_lsm forwards arguments to calculate_lsm", {
result <- spatialize_lsm(landscape, what = "lsm_p_core",
verbose = FALSE, edge_depth = 10)
expect_true(all(result[[1]][[1]][] == 0))
})
test_that("spatialize_lsm works for all data types", {
expect_length(object = spatialize_lsm(landscape_stack,
what = "lsm_p_area",
verbose = FALSE), n = 2)
expect_length(object = spatialize_lsm(list(landscape, landscape),
what = "lsm_p_area",
verbose = FALSE), n = 2)
})
test_that("spatialize_lsm uses temp file", {
result <- spatialize_lsm(landscape, what = "lsm_p_area",
to_disk = TRUE,
verbose = FALSE)
expect_false(terra::inMemory(result[[1]]$lsm_p_area))
})
test_that("spatialize_lsm returns all errors", {
expect_error(spatialize_lsm(landscape, what = "lsm_l_ta",
verbose = FALSE),
regexp = "'spatialize_lsm()' only takes patch level metrics.",
fixed = TRUE)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.