Nothing
tar_test("empty queue", {
q <- sequential_init()
expect_equal(q$data, character(0L))
expect_equal(q$head, 1L)
expect_equal(q$tail, 0L)
expect_silent(q$validate())
})
tar_test("sequential$is_nonempty() and sequential$should_dequeue()", {
q <- sequential_init()
expect_false(q$is_nonempty())
expect_false(q$should_dequeue())
q <- sequential_init(letters)
expect_true(q$is_nonempty())
expect_true(q$should_dequeue())
while (q$is_nonempty()) {
q$dequeue()
}
expect_false(q$is_nonempty())
expect_false(q$should_dequeue())
expect_equal(q$head, 27L)
expect_equal(q$tail, 26L)
expect_null(q$dequeue())
q$data <- c(q$data, rep(NA_character_, 3L))
expect_false(q$is_nonempty())
expect_false(q$should_dequeue())
})
tar_test("sequential$clean()", {
q <- sequential_init(step = 100L)
for (index in seq_len(2L)) {
q$clean()
expect_equal(q$data, character(0L))
expect_equal(q$head, 1L)
expect_equal(q$tail, 0L)
}
q$append(letters)
for (index in seq_len(4L)) {
expect_equal(q$dequeue(), letters[index])
}
expect_equal(q$data, c(letters, rep(NA_character_, 74L)))
expect_equal(q$head, 5L)
expect_equal(q$data[q$head], "e")
expect_equal(q$data[q$tail], "z")
for (index in seq_len(2L)) {
q$clean()
expect_equal(q$head, 1L)
expect_equal(q$tail, 22L)
expect_equal(q$data[q$head], "e")
expect_equal(q$data[q$tail], "z")
expect_equal(q$data, c(letters[-seq_len(4L)], rep(NA_character_, 74L)))
}
while (q$is_nonempty()) {
expect_true(nzchar(q$dequeue()))
}
expect_equal(q$data, c(letters[-seq_len(4L)], rep(NA_character_, 74L)))
expect_equal(q$tail, 22L)
expect_equal(q$data[q$tail], "z")
expect_equal(q$head, 23L)
expect_true(is.na(q$data[q$head]))
expect_null(q$dequeue())
for (index in seq_len(2L)) {
q$clean()
expect_equal(q$data, rep(NA_character_, 74L))
expect_equal(q$head, 1L)
expect_equal(q$tail, 0L)
}
})
tar_test("sequential$extend()", {
q <- sequential_init(step = 100L)
q$extend(n = 50)
expect_equal(q$data, rep(NA_character_, 100L))
expect_equal(q$head, 1L)
expect_equal(q$tail, 0L)
q <- sequential_init(letters, step = 100L)
expect_equal(q$dequeue(), "a")
q$extend(n = 100L)
expect_equal(q$data, c(letters[-1L], rep(NA_character_, 100L)))
expect_equal(q$head, 1L)
expect_equal(q$tail, 25L)
q$extend(n = 100L)
expect_equal(q$data, c(letters[-1L], rep(NA_character_, 200L)))
expect_equal(q$head, 1L)
expect_equal(q$tail, 25L)
})
tar_test("sequential$dequeue()", {
q <- sequential_init(letters, step = 100L)
expect_equal(q$dequeue(), "a")
expect_equal(q$dequeue(), "b")
expect_equal(q$data[q$head], "c")
for (index in seq_len(length(letters) - 2L) + 2L) {
expect_equal(q$dequeue(), letters[index])
}
expect_null(q$dequeue())
q$extend(n = 100L)
expect_null(q$dequeue())
q$append(names = letters)
for (index in seq_len(length(letters))) {
expect_equal(q$dequeue(), letters[index])
}
expect_null(q$dequeue())
expect_equal(q$data, c(letters, rep(NA_character_, 74L)))
expect_equal(q$head, 27L)
expect_equal(q$tail, 26L)
})
tar_test("sequential$append()", {
q <- sequential_init(step = 100L)
q$append(c("a", "b"))
q$append(c("x", "y"))
expect_equal(q$data, c("a", "b", "x", "y", rep(NA_character_, 96L)))
expect_equal(q$head, 1L)
expect_equal(q$tail, 4L)
expect_equal(q$dequeue(), "a")
expect_equal(q$data, c("a", "b", "x", "y", rep(NA_character_, 96L)))
expect_equal(q$head, 2L)
expect_equal(q$tail, 4L)
q$append("z")
expect_equal(q$data, c("a", "b", "x", "y", "z", rep(NA_character_, 95L)))
expect_equal(q$head, 2L)
expect_equal(q$tail, 5L)
expect_equal(q$data[q$head], "b")
expect_equal(q$data[q$tail], "z")
})
tar_test("sequential$prepend()", {
q <- sequential_init(step = 100L)
q$prepend(c("a", "b"))
q$prepend(c("x", "y"))
expect_equal(q$data, c("x", "y", "a", "b"))
expect_equal(q$head, 1L)
expect_equal(q$tail, 4L)
expect_equal(q$dequeue(), "x")
q$extend(n = 100L)
q$prepend("z")
q$prepend("c")
expect_equal(q$data, c("c", "z", "y", "a", "b", rep(NA_character_, 100L)))
expect_equal(q$head, 1L)
expect_equal(q$tail, 5L)
})
tar_test("sequential$increment_ranks()", {
q <- sequential_init(c("a", "b"))
q$increment_ranks("a", 1L)
expect_equal(q$data, c("a", "b"))
})
tar_test("sequential$reset()", {
q <- sequential_init(names = letters, step = 100L)
q$dequeue()
expect_equal(q$data, letters)
expect_equal(q$head, 2L)
expect_equal(q$tail, 26L)
expect_equal(q$data[q$head], "b")
expect_equal(q$data[q$tail], "z")
expect_true(q$is_nonempty())
q$reset()
expect_equal(q$data, character(0L))
expect_equal(q$head, 1L)
expect_equal(q$tail, 0L)
expect_false(q$is_nonempty())
})
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.