library(testthat) source("common.R") describe("promise_all", { it("preserves element ordering", { a <- resolve_later(1, 0.5) b <- resolve_later(2, 0.3) c <- resolve_later(3, 0.1) x <- promise_all(.list = list(a = a, b = b, c = c)) expect_identical(extract(x), list(a = 1, b = 2, c = 3)) }) it("Handles NULLs correctly", { x <- promise_all( promise_resolve(NULL), promise_resolve(NULL), promise_resolve(NULL) ) expect_identical(extract(x), list(NULL, NULL, NULL)) x <- promise_all( a = promise_resolve(NULL), b = promise_resolve(NULL), c = promise_resolve(NULL) ) expect_identical(extract(x), list(a = NULL, b = NULL, c = NULL)) }) })