test_that("Input classes", {
skip_on_cran()
expect_error(sample_systematic(raster = "A", cellsize = 1000), "'raster' must be type SpatRaster.")
expect_error(sample_systematic(raster = mraster, cellsize = TRUE), "'cellsize' must be type numeric.")
expect_error(sample_systematic(raster = mraster, cellsize = -1), "'cellsize' must be > 0.")
expect_error(sample_systematic(raster = mraster, cellsize = 1000, plot = 2), "'plot' must be type logical.")
expect_error(sample_systematic(raster = mraster, cellsize = 1000, square = "TRUE"), "'square' must be type logical.")
expect_error(sample_systematic(raster = mraster, cellsize = 1000, location = 3), "'location' must be type character.")
expect_error(sample_systematic(raster = mraster, cellsize = 1000, location = "not_center"), "'location' must be one of 'centers', 'corners', or 'random'.")
})
test_that("Total outputs", {
skip_on_cran()
set.seed(2022)
o <- sample_systematic(raster = mraster, cellsize = 1000, square = FALSE, plot = TRUE)
o1 <- sample_systematic(raster = mraster, cellsize = 1000)
expect_equal(nrow(o), 39L)
expect_equal(ncol(o), 1L)
expect_equal(nrow(o1), 40L)
expect_equal(ncol(o1), 1L)
expect_equal(nrow(sample_systematic(raster = mraster, cellsize = 2000, details = TRUE)$samples), 7L)
expect_s3_class(o, "sf")
expect_s3_class(sample_systematic(raster = mraster, cellsize = 2000, details = TRUE)$tessellation, "sf")
})
test_that("corners", {
skip_on_cran()
set.seed(2022)
o1 <- sample_systematic(raster = mraster, cellsize = 1000, location = "corners")
o2 <- sample_systematic(raster = mraster, cellsize = 1000, square = FALSE, location = "corners")
expect_equal(nrow(o1), 195L)
expect_equal(nrow(o2), 285L)
})
test_that("random", {
skip_on_cran()
set.seed(2022)
or <- sample_systematic(raster = mraster, cellsize = 1000, location = "random")
or1 <- sample_systematic(raster = mraster, cellsize = 1000, square = FALSE, location = "random")
expect_equal(nrow(or), 34L)
expect_equal(nrow(or1), 44L)
expect_error(sample_systematic(raster = sraster, cellsize = 5000000, location = "random"), "No samples intersect with 'raster'. Ensure 'cellsize' makes sense.")
})
test_that("messages", {
skip_on_cran()
set.seed(2022)
expect_message(sample_systematic(raster = sraster, cellsize = 20000, square = FALSE, location = "random", force = TRUE), "Forcing samples to fall in non NA locations.")
expect_message(sample_systematic(raster = sraster, cellsize = 5000, location = "random", force = TRUE), "Forcing samples to fall in non NA locations.")
expect_error(sample_systematic(raster = sraster, cellsize = 5000000, location = "centers"), "No samples intersect with 'raster'. Ensure 'cellsize' makes sense.")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.