test_that("sample_lsm works for a matrix", {
result_mat <- sample_lsm(landscape, y = sample_points, size = 5,
shape = "circle",
what = c("lsm_l_ta", "lsm_l_np"),
verbose = FALSE)
expect_s3_class(object = result_mat, class = "tbl_df")
expect_true(all(c("np", "ta") %in% result_mat$metric))
})
test_that("sample_lsm works for sf points", {
result_sp <- sample_lsm(landscape, y = points_sf, size = 5,
shape = "square", what = "lsm_l_np",
verbose = FALSE)
expect_s3_class(object = result_sp, class = "tbl_df")
expect_true(all(c("np") %in% result_sp$metric))
})
test_that("sample_lsm works for polygons ", {
result_sf <- sample_lsm(landscape, y = sample_plots, size = 5, level = "patch", verbose = FALSE)
# result_sp <- sample_lsm(landscape, y = sample_plots_sp, size = 5, level = "patch", verbose = FALSE)
expect_s3_class(object = result_sf, class = "tbl_df")
# expect_s3_class(object = result_sp, class = "tbl_df")
expect_true(all("patch" %in% result_sf$level))
# expect_true(all("patch" %in% result_sp$level))
})
# test_that("sample_lsm works for lines ", {
#
# result_lines <- sample_lsm(landscape,
# y = sample_lines,
# size = 5,
# level = "landscape",
# verbose = FALSE)
#
# expect_s3_class(object = result_lines, class = "tbl_df")
#
# expect_true(all("landscape" %in% result_lines$level))
# })
test_that("sample_lsm forwards arguments to calculate_lsm", {
result_mat <- sample_lsm(landscape, y = sample_points, size = 5,
shape = "circle", what = "lsm_p_core",
edge_depth = 100, verbose = FALSE)
expect_true(all(result_mat$value == 0))
})
test_that("sample_lsm uses sample_ids", {
result <- sample_lsm(landscape, y = sample_points, plot_id = c(5, 25, 15),
size = 15, shape = "circle", what = "lsm_l_ta",
verbose = FALSE)
expect_equal(result$plot_id, expected = c(5, 15, 25))
result_wrong_id <- sample_lsm(landscape, y = sample_points,
plot_id = c(5, 25, 15, 1),
size = 15, shape = "circle",
what = "lsm_l_ta", verbose = FALSE)
expect_equal(result_wrong_id$plot_id, expected = 1:3)
})
test_that("sample_lsm can return all classes", {
result_mat <- sample_lsm(landscape, y = sample_points,
size = 5, shape = "circle", what = c("lsm_c_ca", "lsm_l_ta"),
all_classes = TRUE, verbose = FALSE)
# 3 classes * 3 sample plots + 3 landscape level metrics
expect_equal(object = nrow(result_mat), expected = 12)
expect_equal(object = result_mat$class, expected = c(1, 2, 3, NA,
1, 2, 3, NA,
1, 2, 3, NA))
})
test_that("sample_lsm works for all data type", {
result_stack <- sample_lsm(landscape_stack, y = sample_points,
size = 5, what = "lsm_l_ta",
verbose = FALSE)
result_list <- sample_lsm(landscape_list, y = sample_points,
size = 5, what = "lsm_l_ta",
verbose = FALSE)
expect_s3_class(result_stack, class = "tbl_df")
expect_s3_class(result_list, class = "tbl_df")
expect_equal(object = result_stack$layer,
expected = c(1, 1, 1, 2, 2, 2))
expect_equal(object = result_list$layer,
expected = c(1, 1, 1, 2, 2, 2))
expect_true("ta" %in% result_stack$metric)
expect_true("ta" %in% result_list$metric)
})
test_that("sample_lsm returns errors", {
expect_error(sample_lsm(landscape, y = 1:3, size = 5),
regexp = "Please provide a matrix with coords, points or polygons object.",
fixed = TRUE)
expect_error(sample_lsm(landscape, y = sample_points, size = c(5, 15),
what = "lsm_l_ta"),
regexp = "Please provide only one value as size argument.",
fixed = TRUE)
})
test_that("sample_lsm returns warnings", {
expect_warning(sample_lsm(landscape,
y = sample_points, size = 50, what = "lsm_l_ta"),
regexp = "The 'perecentage_inside' is below 90% for at least one buffer.",
fixed = TRUE)
expect_warning(sample_lsm(landscape, y = sample_points,
plot_id = c(5, 25, 15, 1), size = 15,
shape = "circle", what = "lsm_l_ta"),
regexp = "Length of plot_id is not identical to length of y. Using 1...n as plot_id.",
fixed = TRUE)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.