context("casts")
test_that("as.dict and as.list work as expected", {
l <- list(a = 1, b = 2, d = sum, e = list(x = seq(10)))
d <- as.dict(l)
expect_equal(length(d), 4)
expect_equal(as.list(d), l)
num <- c(a = 1.5, x = 2, d = 3, four = 4)
d <- as.dict(num)
expect_length(d$values(), 4)
int <- c(a = 1L, x = 2L, d = 3L, four = 4L, five = 5L)
d <- as.dict(int)
expect_length(d$values(), 5)
bool <- c(a = TRUE, x = FALSE, d = FALSE)
d <- as.dict(bool)
expect_length(d$values(), 3)
chr <- c(a = "1", x = "iks")
d <- as.dict(chr)
expect_length(d$values(), 2)
df <- data.frame(x = seq(2), y = c("a", "b"), z = factor("1", "two"))
d <- as.dict(df)
expect_equal(length(d), 3)
expect_equal(d$get("z"), df$z)
e <- new.env()
e$x <- 1
e$y <- "val"
d <- as.dict(e)
expect_length(d$values(), 2)
e$z <- "i won't modify dict"
expect_length(d$keys(), 2)
expect_error(as.dict(mean))
expect_error(as.dict(quote(x + y)))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.