context ("extract-objects")
test_all <- (identical (Sys.getenv ("MPADGE_LOCAL"), "true") |
identical (Sys.getenv ("GITHUB_WORKFLOW"), "test-coverage"))
test_that ("missing objects", {
expect_error (extract_osm_objects (), "key can not be NULL")
expect_error (
extract_osm_objects (key = "aaa"),
"bbox must be provided"
)
})
test_that ("key missing", {
bbox <- get_bbox (c (-0.12, 51.51, -0.11, 51.52))
expect_error (
extract_osm_objects (bbox = bbox, key = NULL),
"key can not be NULL"
)
expect_error (
extract_osm_objects (bbox = bbox, key = NA),
"key can not be NA"
)
expect_error (
extract_osm_objects (bbox = bbox),
"key can not be NULL"
)
})
if (curl::has_internet () && test_all) {
test_that ("invalid key", {
bbox <- get_bbox (c (-0.12, 51.51, -0.11, 51.52))
expect_warning (
suppressMessages (
extract_osm_objects (bbox = bbox, key = "aaa")
),
"No valid data returned"
)
})
test_that ("valid key", {
bbox <- get_bbox (c (-0.12, 51.518, -0.118, 51.52))
dat <- extract_osm_objects (bbox = bbox, key = "building")
expect_is (dat, "sf")
dat <- extract_osm_objects (
bbox = bbox, key = "building",
sf = FALSE
)
expect_is (dat, "SpatialPolygonsDataFrame")
})
test_that ("extra_pairs", {
key <- "route"
value <- "bicycle"
extra_pairs <- c ("name", "London Cycle Network")
bbox <- get_bbox (c (0, 51.5, 0.1, 51.6))
dat <- extract_osm_objects (
bbox = bbox, key = key,
value = value,
extra_pairs = extra_pairs
)
expect_true (nrow (dat) > 0)
expect_is (dat, "sf")
})
test_that ("sp objects", {
key <- "route"
value <- "bicycle"
extra_pairs <- c ("name", "London Cycle Network")
bbox <- get_bbox (c (0, 51.5, 0.1, 51.6))
dat <- extract_osm_objects (
bbox = bbox, key = key,
value = value,
extra_pairs = extra_pairs,
sf = FALSE
)
expect_true (nrow (dat) > 0)
expect_is (dat, "Spatial")
})
} # end if has_internet
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.