Nothing
context("Group of inputs")
describe("mwGroup", {
it("throws an error if an argument is not named", {
expect_error(mwGroup(mwText()), "All arguments need to be named.")
})
it("throws an error if an argument is not an input", {
expect_error(mwGroup(a = 1), "All arguments need to be Input objects.")
})
it("can be cloned", {
env1 <- initEnv(parent.frame(), 1)
env2 <- initEnv(parent.frame(), 2)
a <- mwText()
b <- mwText()
inner_grp = mwGroup(a = a)
grp <- mwGroup(inner_grp = inner_grp, b = b)
a$init("a", env1)
b$init("b", env1)
inner_grp$init("inner_grp", env1)
grp$init("grp", env1)
grp2 <- grp$clone(env2)
expect_equal(c("a", "b"), ls(envir = env2))
grp2$value$b$setValue("test")
expect_equal(grp2$value$b$value, "test")
expect_equal(get("b", envir = env2), "test")
expect_equal(get("b", envir = env1), "")
grp2$value$inner_grp$value$a$setValue("test")
expect_equal(grp2$value$inner_grp$value$a$value, "test")
expect_equal(get("a", envir = env2), "test")
expect_equal(get("a", envir = env1), "")
})
it("removes inner inputs from environment", {
env1 <- initEnv(parent.frame(), 1)
a <- mwText()
b <- mwText()
inner_grp = mwGroup(a = a)
grp <- mwGroup(inner_grp = inner_grp, b = b)
a$init("a", env1)
b$init("b", env1)
inner_grp$init("inner_grp", env1)
grp$init("grp", env1)
grp$destroy()
expect_true(!"a" %in% ls(envir = env1))
expect_true(!"b" %in% ls(envir = env1))
})
it("can return list of inner inputs", {
env1 <- initEnv(parent.frame(), 1)
a <- mwText()
b <- mwText()
inner_grp = mwGroup(a = a)
grp <- mwGroup(inner_grp = inner_grp, b = b)
a$init("a", env1)
b$init("b", env1)
inner_grp$init("inner_grp", env1)
grp$init("grp", env1)
inputs <- grp$getInputs()
expect_equal(sort(names(inputs)), c("a", "b", "grp", "inner_grp"))
expect_identical(inputs$a, a)
expect_identical(inputs$b, b)
})
})
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.