# Testing helper functions
test_that("Methods choices are retrieved", {
choices <- spm_methods()
expect_character(choices)
expect_names(choices, identical.to = c("tesselate_voronoi", "triangulate_delaunay"))
smooth_choices <- spm_smooth_methods()
expect_character(smooth_choices)
expect_names(smooth_choices, identical.to = c("ICAR", "LINPRED"))
})
test_that("Aggregation choices are retrieved", {
choices <- spm_aggregation_choices()
expect_equal(choices, c('space', 'time', 'spacetime'))
})
test_that("Aggregation levels are retrieved", {
choices <- spm_aggregation_levels_choices()
expect_equal(choices, c("patch", "boundary"))
})
test_that("Aggregation types are retrieved", {
choices <- spm_aggregation_types_choices()
expect_equal(choices, c("data", "smoothed"))
})
test_that("Methods are dispatched correctly", {
expect_equal(dispatch_method("tesselate_voronoi"), tesselate_voronoi)
expect_equal(dispatch_method("triangulate_delaunay"), triangulate_delaunay)
expect_error(dispatch_method("method_not_supported"),
"Method 'method_not_supported' is not part of the supported methods.")
expect_equal(dispatch_smooth("ICAR"), ICAR)
expect_equal(dispatch_smooth("LINPRED"), LINPRED)
expect_message(dispatch_smooth("method_not_supported"),
"Smoothing method 'method_not_supported' is not part of the supported methods.")
})
test_that("Warnings/messages can be suppressed", {
expect_failure(expect_warning(suppressAll(warning("This is a warning"))))
expect_failure(expect_message(suppressAll(message("This is a message"))))
})
test_that("Calls are modified correctly", {
base_col <- str2lang("s()")
modified_call <- modify_call(base_col, list(k = 1, bs = "mrf"))
modified_call_str <- deparse(modified_call)
expect_class(modified_call, "call")
expect_match(modified_call_str, "s(k = 1, bs = \"mrf\")", fixed = TRUE)
})
test_that("Methods are correctly returned", {
expect_class({spm_methods()}, "character")
expect_length({spm_methods()}, 2)
})
test_that("Functons for methods are correctly dispatched", {
expect_class({sspm:::dispatch_method("tesselate_voronoi")}, "function")
})
test_that("Multilag works", {
expect_equal(multilag(c(1:5), 2),
data.frame(lag1 = c(NA, 1, 2, 3, 4),
lag2 = c(NA, NA, 1, 2, 3)))
})
test_that("Datasets are correctly joined", {
joined <- join_datasets(biomass_dataset, boundary_discrete)
expect_true(is_mapped(joined))
expect_true("patch_id" %in% names(spm_data(joined)))
expect_equal(sum(is.na(spm_data(joined)$patch_id)), 0)
expect_equal(spm_boundaries(joined), boundary_discrete)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.