Nothing
source(file.path("_helper", "init.R"))
lst <- new("unitizerList")
# - "unitizerList basic tests" -------------------------------------------------
length(lst) == 0L
is(lst <- unitizer:::append(lst, 5), "unitizerList")
length(lst) == 1L
is(
lst <- unitizer:::append(
lst, list("booyah", list(1:3), matrix(1:9, nrow = 3))
), "unitizerList"
)
length(lst) == 4L
is(lst[3L], "unitizerList")
is(lst[[3L]], "list")
lst <- unitizer:::append(lst, list(data.frame(a = letters[1:3])), 2L)
is(lst[[3L]], "data.frame")
length(lst[1:4]) == 4L
lst[[4L]] <- "boo"
is(lst[[4L]], "character")
lst[4L:5L] <- letters[1:2]
c(lst[[4L]], lst[[5L]])
lst[[4L]]
is(unitizer:::as.list(lst), "list")
length(unitizer:::as.list(lst)) == 5L
is(unitizer:::as.expression(lst), "expression")
try(unitizer:::getItem(lst)) # error
lst <- unitizer:::nextItem(lst)
unitizer:::getItem(lst)
lst <- unitizer:::nextItem(lst)
unitizer:::getItem(lst)
lst <- unitizer:::prevItem(lst)
unitizer:::getItem(lst)
lst <<- lst # leftover from testthat testing?
# - "unitizerList pointer seeking" ---------------------------------------------
for (i in 1:10) lst <- unitizer:::nextItem(lst)
try(unitizer:::getItem(lst))
unitizer:::done(lst)
is(lst <- unitizer:::reset(lst, "back"), "unitizerList")
try(unitizer:::reset(lst, letters))
try(unitizer:::reset(lst, NA_character_))
try(unitizer:::getItem(lst))
lst <- unitizer:::prevItem(lst)
unitizer:::getItem(lst) == "b"
while (!unitizer:::done(lst)) {
item <- unitizer:::getItem(lst)
lst <- unitizer:::prevItem(lst)
}
item == 5L
try(unitizer:::getItem(lst))
withCallingHandlers(
lst[[4]] <- "new value",
warning = function() stop("A Warning!")
)
for (i in 1:5) lst <- unitizer:::nextItem(lst)
lst@.pointer
# - "unitizerList value replacement and pointer adjustments" -------------------
lst[[4]] <- NULL
lst@.pointer
unitizer:::reset(lst, "back")
lst.len <- length(lst)
identical(lst@.pointer, lst.len)
lst[2:3] <- letters[1:2]
identical(lst@.pointer, lst.len)
lst[2:3] <- list(NULL, NULL)
identical(lst@.pointer, lst.len)
lst[2:3] <- NULL
identical(lst@.pointer, lst.len - 2L)
lst <- unitizer:::reset(lst, "front")
for (i in 1:2) lst <- unitizer:::nextItem(lst)
curr.point <- lst@.pointer
lst[[3]] <- NULL
identical(curr.point, lst@.pointer)
lst <- unitizer:::append(lst, list(5, 6, "blaskdjf"), 1L)
identical(curr.point + 3L, lst@.pointer)
lst <- unitizer:::append(lst, list(matrix(1:9, nrow = 3)), 5L)
identical(curr.point + 3L, lst@.pointer)
# - "Append Factors Works" -----------------------------------------------------
vec <- factor(letters[1:3], levels = letters)
vec2 <- factor(letters[10:15], levels = letters)
all.equal(structure(c(1L, 2L, 3L, 10L, 11L, 12L, 13L, 14L,
15L), .Label = c("a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"), class = "factor"), append(vec,
vec2))
all.equal(structure(c(1L, 2L, 10L, 11L, 12L, 13L, 14L, 15L,
3L), .Label = c("a", "b", "c", "d", "e", "f", "g", "h", "i",
"j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
"v", "w", "x", "y", "z"), class = "factor"), append(vec,
vec2, 2))
all.equal(structure(c(10L, 11L, 12L, 13L, 1L, 2L, 3L, 14L,
15L), .Label = c("a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"), class = "factor"), append(vec2,
vec, 4))
try(append(vec2, vec, 20))
try(append(vec2, vec, -5))
# - "List coersion works even inside apply functions" --------------------------
ulist <- new("unitizerList", .items = list("a", 1, 2, "b"))
identical(lapply(ulist, identity), ulist@.items)
# - "Errors" -------------------------------------------------------------------
setClass("uhtsdfoqiuerhzb", slots = c(a = "integer"))
dummy <- new("uhtsdfoqiuerhzb", a = 1L)
lst2 <- new("unitizerList", .items = list(1, 2, 3))
try(append(lst2, 5, after = -1))
try(append(lst2, dummy))
lst3 <- new("unitizerList", .items = expression(1, 2, 3))
try(append(lst3, dummy))
# - "Set Names" ----------------------------------------------------------------
nlst <- new("unitizerList", .items = list(a = "a", b = "b"))
names(nlst) <- toupper(names(nlst))
as.list(nlst)
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.