Nothing
#'
#' Header for all (concatenated) test files
#'
#' Require spatstat.geom
#' Obtain environment variable controlling tests.
#'
#' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $
require(spatstat.geom)
FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0)
ALWAYS <- TRUE
cat(paste("--------- Executing",
if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of",
"test code -----------\n"))
# tests/emptymarks.R
#
# test cases where there are no (rows or columns of) marks
#
# $Revision: 1.4 $ $Date: 2020/04/28 12:58:26 $
if(ALWAYS) {
local({
n <- npoints(cells)
df <- data.frame(x=1:n, y=factor(sample(letters, n, replace=TRUE)))
nocolumns <- c(FALSE, FALSE)
norows <- rep(FALSE, n)
X <- cells
marks(X) <- df
marks(X) <- df[,1]
marks(X) <- df[,nocolumns]
Z <- Y <- X[integer(0)]
marks(Y) <- df[norows,]
stopifnot(is.marked(Y))
marks(Z) <- df[norows,nocolumns]
stopifnot(!is.marked(Z))
})
}
#
# tests/factorbugs.R
#
# check for various bugs related to factor conversions
#
# $Revision: 1.8 $ $Date: 2023/01/30 00:51:42 $
#
if(ALWAYS) {
local({
## make a factor image
m <- factor(rep(letters[1:4], 4))
Z <- im(m, xcol=1:4, yrow=1:4)
## make a point pattern
set.seed(42)
X <- runifrect(20, win=as.owin(Z))
## look up the image at the points of X
## (a) internal
ans1 <- lookup.im(Z, X$x, X$y)
stopifnot(is.factor(ans1))
## (b) user level
ans2 <- Z[X]
stopifnot(is.factor(ans2))
## (c) turn the image into a tessellation
## and apply quadratcount
V <- tess(image = Z)
quadratcount(X, tess=V)
## Pad image
Y <- padimage(Z, factor("b", levels=levels(Z)))
stopifnot(Y$type == "factor")
U <- padimage(Z, "b")
stopifnot(U$type == "factor")
## Manipulate factor levels
Zb <- relevel(Z, "b")
Zv <- mergeLevels(Z, vowel="a", consonant=c("b","c","d"))
P <- X %mark% Z[X]
Pv <- mergeLevels(P, vowel="a", consonant=c("b","c","d"))
## Harmonise factor levels - cases not covered
Flat <- factor(sample(letters[1:3], 10, replace=TRUE))
Image <- gorillas.extra$slopetype
oo <- harmoniseLevels()
oo <- harmoniseLevels(Flat)
oo <- harmoniseLevels(A=Image)
oo <- harmoniseLevels(A=Flat,B=Image)
})
}
#
# tests/func.R
#
# $Revision: 1.9 $ $Date: 2022/10/23 00:48:40 $
#
# Tests of 'funxy' infrastructure etc
if(FULLTEST) {
local({
## Check the peculiar function-building code in funxy
W <- square(1)
f1a <- function(x, y) sqrt(x^2 + y^2)
F1a <- funxy(f1a, W)
f1b <- function(x, y) { sqrt(x^2 + y^2) }
f2a <- function(x, y) sin(x)
f2b <- function(x, y) { sin(x) }
f3a <- function(x, y) sin(x) + cos(x)
f3b <- function(x, y) { sin(x) + cos(x) }
f4a <- function(x, y) { z <- x + y ; z }
f4b <- function(x, y) { x + y }
F1b <- funxy(f1b, W)
F2a <- funxy(f2a, W)
F2b <- funxy(f2b, W)
F3a <- funxy(f3a, W)
F3b <- funxy(f3b, W)
F4a <- funxy(f4a, W)
F4b <- funxy(f4b, W)
stopifnot(identical(F1a(cells), F1b(cells)))
stopifnot(identical(F2a(cells), F2b(cells)))
stopifnot(identical(F3a(cells), F3b(cells)))
stopifnot(identical(F4a(cells), F4b(cells)))
## check coordinate extraction from objects
X <- runifrect(9)
Q <- quadscheme(X)
a <- F1a(X)
d <- F1a(Q)
})
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.