tests/testthat/helper-data.R

# Base resistance data
res = matrix(c(
  1,  1,  2,  2,  3,  3,  2,  2,  1,
  1,  2,  2,  3, 10, 10,  3,  2,  2,
  1,  2,  2,  3, 10, 10,  3,  2,  2,
  1,  1,  1,  3, 10, 10,  3,  1,  1,
  1,  1,  1,  1,  1,  1,  1,  1,  1,
  1,  1,  1,  1,  1,  1,  1,  1,  1,
  1,  1, 10, 10, 10, 10, 10, 10,  1,
  1,  1,  1,  1,  1,  1,  1,  1,  1), 9)

# Masks to test different cases
# Add corner cases as needed
masklist = list(
  matrix(c(
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1), 9),
  matrix(c(
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1, NA, NA, NA, NA,  1,  1,
    1,  1,  1, NA, NA, NA, NA,  1,  1,
    1,  1,  1, NA, NA, NA, NA,  1,  1,
    1,  1,  1, NA, NA, NA, NA,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1), 9),
  matrix(c(
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    NA, NA, NA, NA, NA, NA, NA, NA, NA,
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1), 9),
  matrix(c(
    1,  1,  1,  1,  1,  1,  1,  1,  1,
    1,  1,  1,  1, NA, NA, NA,  1,  1,
    1,  1,  1,  1, NA,  1, NA,  1,  1,
    1,  1,  1,  1, NA, NA, NA,  1,  1,
    1, NA, NA, NA,  1,  1,  1,  1,  1,
    1, NA,  1, NA,  1,  1,  1,  1,  1,
    1, NA, NA, NA,  1,  1,  1,  1,  1,
    1,  1,  1,  1,  1,  1,  1,  1,  1), 9)
)

ext = raster::extent(c(0, 8, 0, 9))
ncol = ncol(res)
nrow = nrow(res)
ncell = length(res)

testlist = lapply(
  masklist,
  function(x) {
    res = raster::raster(res * x)
    extent(res) = ext
    res
  })
agrobioinfoservices/gdistance documentation built on Dec. 11, 2023, 9:13 p.m.