library(testthat)
geometry <- sf::st_geometry(guerry)
nbd <- st_nb_delaunay(geometry)
nbg <- st_nb_gabriel(geometry)
nbr <- st_nb_relative(geometry)
test_that("neighbors are of appropriate length", {
skip_on_cran()
skip_on_ci()
expect_length(nbd, 85)
expect_length(nbg, 85)
expect_length(nbr, 85)
})
test_that("gabriel nb is a subgraph of delaunary", {
skip_on_cran()
skip_on_ci()
expect_equal(
nb_intersect(nbd, nbg),
nbg,
ignore_attr = TRUE
)
})
test_that("relative nb is a subgraph of delaunary", {
skip_on_cran()
skip_on_ci()
expect_equal(
nb_intersect(nbd, nbr),
nbr,
ignore_attr = TRUE
)
})
test_that("graph neighbors don't work with sf objects", {
skip_on_cran()
skip_on_ci()
expect_error(st_nb_delaunay(guerry))
expect_error(st_nb_gabriel(guerry))
expect_error(st_nb_relative(guerry))
})
test_that("message is emitted when providing polygons", {
skip_on_cran()
skip_on_ci()
expect_message(st_nb_delaunay(geometry))
expect_message(st_nb_gabriel(geometry))
expect_message(st_nb_relative(geometry))
})
test_that("error on using lines", {
skip_on_cran()
skip_on_ci()
g2 <- sfnetworks::roxel[["geometry"]]
# errors emitted thanks to spdep
expect_error(st_nb_delaunay(g2))
expect_error(st_nb_gabriel(g2))
expect_error(st_nb_relative(g2))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.