tests/testthat/test-3-nsink_calc_removal.R

context("nsink_calc_removal")
library(nsink)
load(system.file("testdata.rda", package="nsink"))
niantic_data$fdr <- terra::unwrap(niantic_data$fdr)
niantic_data$impervious <- terra::unwrap(niantic_data$impervious)
niantic_data$nlcd <- terra::unwrap(niantic_data$nlcd)
niantic_data$raster_template <- terra::unwrap(niantic_data$raster_template)
niantic_removal$raster_method$removal <- terra::unwrap(niantic_removal$raster_method$removal)
niantic_removal$raster_method$type <- terra::unwrap(niantic_removal$raster_method$type)
niantic_removal <- nsink_calc_removal(niantic_data)


test_that("calc removal returns as expected", {
  expect_setequal(names(niantic_removal), c("raster_method", "land_off_network_removal",
                                    "land_off_network_removal_type",
                                    "network_removal"))
})

test_that("removal object has correct classes", {
  expect_s4_class(niantic_removal$raster_method$removal, "SpatRaster")
  expect_s4_class(niantic_removal$raster_method$type, "SpatRaster")
  expect_s3_class(niantic_removal$land_off_network_removal, "sf")
  expect_s3_class(niantic_removal$land_off_network_removal_type, "sf")
  expect_s3_class(niantic_removal$network_removal, "sf")
})

test_that("removal values are all non-negative", {
  expect_gte(min(terra::values(niantic_removal$raster_method$removal), na.rm = TRUE), 0)
  expect_gte(min(niantic_removal$land_off_network_removal$n_removal, na.rm = TRUE), 0)
  expect_gte(min(niantic_removal$network_removal$n_removal, na.rm = TRUE), 0)
})

test_that("wrong data errors as expected", {
  expect_error(nsink_calc_removal(Loblolly))
})
jhollist/nsink documentation built on June 14, 2025, 8:58 p.m.