#
# Misc tests with working with patch sizes
#
test_that("Labelling functions & friends work correctly", {
n <- 512
m <- matrix(rnorm(n*n) > 0.3, nrow = n, ncol = n)
# Make sure args are dispatched correctly
X <- patchsizes(list(m, m), nbmask = "moore", wrap = TRUE)
expect_true({
all(X[[1]] == X[[2]])
})
# Make sure the type of neighborhood is passed even when using high-level
# functions
options(spatialwarnings.constants.maxit = 1e9L)
x1 <- patchdistr_sews(m)
x2 <- patchdistr_sews(m, nbmask = "moore")
expect_true({
x1[["npatches"]] > x2[["npatches"]]
})
options(spatialwarnings.constants.maxit = NULL)
m <- matrix(c(1, 0, 0,
0, 1, 1,
0, 0, 0) > 0,
ncol = 3, nrow = 3, byrow = TRUE)
expect_true({
length(patchsizes(m)) == 2 && all(patchsizes(m) == c(1, 2))
})
expect_true({
length(patchsizes(m, nbmask = "moore")) == 1 && patchsizes(m, nbmask = "moore") == 3
})
m <- matrix(c(1, 0, 0,
0, 0, 1,
0, 0, 0) > 0,
ncol = 3, nrow = 3, byrow = TRUE)
expect_true({
a <- patchdistr_sews(m, nbmask = "von_neumann", wrap = TRUE)
a[["npatches"]] == 2
})
expect_true({
a <- patchdistr_sews(m, nbmask = "moore", wrap = TRUE)
a[["npatches"]] == 1
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.