# Testing as_object method
test_that("Discret method is casted correctly", {
method <- "tesselate_voronoi"
expect_class(as_discretization_method(method), "discretization_method")
method <- "method_not_supported"
expect_error(as_discretization_method(method),
"Method 'method_not_supported' is not part of the supported methods.")
})
test_that("Bounds method is casted correctly", {
expect_class(spm_as_boundary(sfa_boundaries, "sfa"), "sspm_boundary")
expect_class(spm_as_boundary(sfa_boundaries, "sfa",
boundary_area = "area"), "sspm_boundary")
expect_class(spm_as_boundary(sfa_boundaries, "sfa",
patches = borealis_patches,
patch_area = "patch_area"), "sspm_discrete_boundary")
expect_error(spm_as_boundary(sfa_boundaries, "sfa",
patches = borealis_patches),
"`patch_area` column already present, please cast with argument `patch_area")
expect_error(spm_as_boundary(sfa_boundaries, "bad_column"),
"`boundary` must be a column of `boundaries`")
expect_error(spm_as_boundary(sfa_boundaries, "sfa",
boundary_area = "bad_column"),
"`boundary_area` must be a column of `boundaries`")
})
test_that("sspm dataset is casted correctly", {
# Test the 3 generic cases
expect_error({
spm_as_dataset(data = borealis_simulated,
time = "year_f",
coords = c('lon_dec', 'lat_dec'),
name = "Biomass",
uniqueID = "Bad column")
}, "`uniqueID` must be a column of `data`")
borealis_simulated_NU <- borealis_simulated
borealis_simulated_NU$new_col <- "Non_unique"
expect_error({
spm_as_dataset(data = borealis_simulated_NU,
time = "year_f",
coords = c('lon_dec', 'lat_dec'),
name = "Biomass",
uniqueID = "new_col")
}, "`uniqueID` must be unique for each row of `data`")
expect_error({
spm_as_dataset(data = borealis_simulated,
time = "Bad column",
coords = c('lon_dec', 'lat_dec'),
name = "Biomass",
uniqueID = "uniqueID")
}, "`time` must be a column of `data`")
# If data matrix is df, coords must be provided
expect_error({
spm_as_dataset(data = borealis_simulated,
time = "year_f",
name = "Biomass",
uniqueID = "uniqueID")
}, "Argument `coords` must be provided when data matrix is a dataframe")
# Coords must be columns of data
expect_error({
spm_as_dataset(data = borealis_simulated,
time = "year_f",
coords = c('Bad column 1', 'Bad column 2'),
name = "Biomass",
uniqueID = "uniqueID")
}, "`coords` must be columns of `data`")
# When works fine
expect_class({
spm_as_dataset(data = borealis_simulated,
time = "year_f",
coords = c('lon_dec', 'lat_dec'),
name = "Biomass",
uniqueID = "uniqueID")
}, "sspm_dataset")
expect_class({
spm_as_dataset(data = borealis_simulated,
time = "year_f",
coords = list('lon_dec', 'lat_dec'),
name = "Biomass",
uniqueID = "uniqueID")
}, "sspm_dataset")
expect_class({
spm_as_dataset(data = borealis_spatial,
time = "year_f",
coords = c('lon_dec', 'lat_dec'),
name = "Biomass",
uniqueID = "uniqueID")
}, "sspm_dataset")
test_polygons <- borealis_patches %>%
mutate(year_f = as.factor("2000"),
uniqueID = 1:nrow(borealis_patches))
expect_class({
spm_as_dataset(data = test_polygons,
time = "year_f",
name = "Biomass",
uniqueID = "uniqueID")
}, "sspm_dataset")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.