Nothing
library(testthat)
context("Expansion Test")
mev <- getOption("magclass_expand_version")
msm <- getOption("magclass_setMatching")
on.exit({
options(magclass_expand_version = mev)
options(magclass_setMatching = msm)
})
test_that("partial expansion", {
a <- new.magpie(c("AFR.1", "AFR.2", "EUR.1"), fill = 1)
b <- new.magpie(c("AFR", "EUR"), fill = 1)
options(magclass_expand_version = NULL)
options(magclass_setMatching = TRUE)
expect_identical(magpie_expand(b, a), a)
options(magclass_setMatching = msm)
expect_identical(magpie_expand(b, a), a)
d <- new.magpie(c("AFR.BLUB.1", "AFR.BLUB.2", "EUR.BLUB.1",
"AFR.BLA.1", "AFR.BLA.2", "EUR.BLA.1"), fill = 1)
e <- new.magpie(c("BLA.AFR.A", "BLA.EUR.A", "BLUB.AFR.A", "BLUB.EUR.A",
"BLA.AFR.B", "BLA.EUR.B", "BLUB.AFR.B", "BLUB.EUR.B"), fill = 1)
ee <- magpie_expand(e, d)
expect_identical(ee, magpie_expand(d, ee))
})
test_that("expansion with unusual set names", {
d <- new.magpie(c("AFR.BLUB.1", "AFR.BLUB.2", "EUR.BLUB.1", "EUR.BLUB.2",
"AFR.BLA.1", "AFR.BLA.2", "EUR.BLA.1", "EUR.BLA.2"), fill = 1)
e <- new.magpie(c("BLA.AFR.A", "BLA.EUR.A", "BLUB.AFR.A", "BLUB.EUR.A",
"BLA.AFR.B", "BLA.EUR.B", "BLUB.AFR.B", "BLUB.EUR.B"), fill = 1)
# test for cases with missing set names
names(dimnames(e)) <- NULL
ee <- magpie_expand(e, d)
expect_identical(ee, magpie_expand(d, ee))
# test case with NA set name
f <- new.magpie("GLO", 1900, "value", fill = 1)
g <- new.magpie("GLO", 1900, "blub", fill = 1)
names(dimnames(g))[3] <- NA
ff <- magpie_expand(f, g)
expect_identical(ff, magpie_expand(g, ff))
})
test_that("subdimension order", {
# subdimension order should remain unchanged if possible
names <- c("bla.value1", "bla.value2")
h <- new.magpie("GLO", 1900, names, fill = 1)
i <- new.magpie("GLO", 1900, c("value1", "value2"), fill = 1)
expect_identical(getItems(magpie_expand(i, h), 3), names)
x <- new.magpie("GLO", 2000, c("a", "b", "c"))
y <- new.magpie("GLO", 2000, c("1", "2", "3"))
xx <- magpie_expand(x, y)
expect_identical(getItems(xx, 3), getItems(magpie_expand(y, xx), 3))
})
test_that("magpie_expand_dim works", {
a <- maxample("animal")
expect_error(magclass:::magpie_expand_dim(a, a, dim = 4), "Unsupported dim setting")
expect_error(magclass:::magpie_expand_dim(a[, , 2:5], a, dim = 3), "Identical set names but different content")
expect_identical(magclass:::magpie_expand_dim(collapseDim(a, "day"), a, dim = 2), a)
})
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.