test_that("createTurtles works", {
withr::local_package("quickPlot")
w1 <- createWorld(minPxcor = 0, maxPxcor = 4, minPycor = 0, maxPycor = 4, data = sample(1:25))
w2 <- createWorld(minPxcor = 0, maxPxcor = 4, minPycor = 0, maxPycor = 4, data = 1:25)
a1 <- stackWorlds(w1, w2)
t1 <- createTurtles(n = 10, coords = randomXYcor(w1, n = 10))
t1_0 <- createTurtles(n = 10, coords = cbind(rep(0, 10), rep(0, 10)))
if (requireNamespace("sp", quietly = TRUE)) {
sp1 <- turtles2spdf(t1)
}
if (requireNamespace("sf", quietly = TRUE)) {
sp2 <- turtles2sf(t1)
}
if (requireNamespace("raster", quietly = TRUE)) {
r1 <- world2raster(w1)
s1 <- world2raster(a1)
}
clearPlot()
# TODO Error in .local(x, ...) : matrix should not have more than 2 columns
# extent is not being found correctly
plotNum <- 1
Plot(t1)
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
if (requireNamespace("sp", quietly = TRUE)) {
plotNum <- plotNum + 1
mess <- capture_messages(Plot(sp1)) # "setting graphics device" message occurs the first time
expect_silent(Plot(sp1))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
}
plotNum <- plotNum + 1
expect_silent(Plot(w1, axes = TRUE, new = TRUE))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
expect_true(length(a$curr@quickPlotGrobList$w1) == 1)
expect_silent(Plot(t1, addTo = "w1"))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
expect_true(length(a$curr@quickPlotGrobList$w1) == 2)
plotNum <- plotNum + 1
expect_silent(Plot(w2))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
expect_true(length(a$curr@quickPlotGrobList$w2) == 1)
plotNum <- plotNum + 2 # an 2x array
expect_silent(Plot(a1))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
expect_true(length(a$curr@quickPlotGrobList$`a1$w1`) == 1)
# TODO -- these points are not correctly aligned on raster
expect_silent(Plot(t1, addTo = "a1$w1"))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
expect_true(length(a$curr@quickPlotGrobList$`a1$w1`) == 2)
if (requireNamespace("raster", quietly = TRUE)) {
plotNum <- plotNum + 2 # an 2x array
expect_silent(Plot(s1))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
expect_true(length(a$curr@quickPlotGrobList$`a1$w1`) == 2)
plotNum <- plotNum + 1
expect_silent(Plot(r1))
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
expect_true(length(a$curr@quickPlotGrobList$`a1$w1`) == 2)
s1$layer.1[3] <- 15
s1$layer.2[3] <- 25
expect_silent(Plot(s1$layer.1)) # doesn't change s1$layer.2
expect_silent(Plot(s1$layer.2)) # doesn't change s1$layer.1
expect_silent(Plot(a1$w1))
}
expect_silent(rePlot())
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == plotNum)
expect_true(length(a$curr@quickPlotGrobList) == plotNum)
# Test singularity of agents in agentMatrix
clearPlot()
expect_silent(Plot(t1_0, axes = TRUE, new = TRUE)) # agentMatrix
a <- getFromNamespace(".getQuickPlot", ns = "quickPlot")(paste0("quickPlot", dev.cur()))
expect_true(length(a$isBaseLayer) == 1)
expect_true(length(a$curr@quickPlotGrobList) == 1)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.