Nothing
################################################################################
context("CREATE")
set.seed(SEED)
################################################################################
x0 <- matrix(rnorm(256, mean = 100, sd = 10), 16)
options(bigstatsr.downcast.warning = FALSE)
################################################################################
test_that("Creating an FBM works", {
for (t in c(TEST.TYPES, "FBM.code256")) {
is_ro <- sample(c(TRUE, FALSE), 1)
if (t == "FBM.code256") {
X0 <- FBM(nrow(x0), ncol(x0), type = "raw", init = x0, is_read_only = is_ro)
expect_identical(X0$is_read_only, is_ro)
if (is_ro) expect_error(X0[1] <- 1, "This FBM is read-only.")
X0$is_read_only <- FALSE
X0[] <- as.raw(0:255)
X0$is_read_only <- is_ro
X <- add_code256(X0, code = as.vector(x0))
expect_identical(X$is_read_only, is_ro)
expect_s4_class(X, "FBM")
expect_s4_class(X, "FBM.code256")
expect_error(FBM(nrow(x0), ncol(x0) - 1, type = "raw",
backingfile = sub_bk(X$bk), create_bk = FALSE),
"Inconsistency between size of backingfile and dimensions.")
expect_error(FBM(nrow(x0), ncol(x0), type = "raw", backingfile = sub_bk(X$bk),
create_bk = FALSE, init = x0),
"You can't use `init` when using `create_bk = FALSE`.")
X2 <- FBM(nrow(x0), ncol(x0), type = "raw", backingfile = sub_bk(X$bk),
create_bk = FALSE, is_read_only = is_ro)
expect_s4_class(X2, "FBM")
expect_true(X2$backingfile == X$backingfile)
expect_equal(X2$is_read_only, is_ro)
if (is_ro) expect_error(X2[1] <- 1, "This FBM is read-only.")
X3 <- X$as.FBM()
expect_equal(X3[], X2[])
expect_equal(X3$is_read_only, is_ro)
if (is_ro) expect_error(X3[1] <- 1, "This FBM is read-only.")
X4 <- as_FBM(x0, type = "raw", is_read_only = is_ro)
expect_equal(X4[], matrix(as.raw(x0), 16))
expect_equal(X4$is_read_only, is_ro)
if (is_ro) expect_error(X4[1] <- 1, "This FBM is read-only.")
} else {
X <- as_FBM(x0, type = t, is_read_only = is_ro)
expect_s4_class(X, "FBM")
expect_equal(X$is_read_only, is_ro)
if (is_ro) expect_error(X[1] <- 1, "This FBM is read-only.")
X2 <- FBM(nrow(x0), ncol(x0), type = t, init = x0, is_read_only = !is_ro)
expect_s4_class(X2, "FBM")
expect_true(typeof(X2) == t)
expect_equal(X2[], X[])
expect_equal(X2$is_read_only, !is_ro)
expect_error(FBM(nrow(x0), ncol(x0) - 1, type = t,
backingfile = sub_bk(X$bk), create_bk = FALSE),
"Inconsistency between size of backingfile and dimensions.")
expect_error(FBM(nrow(x0), ncol(x0), type = t, init = x0,
backingfile = sub_bk(X$bk), create_bk = FALSE),
"You can't use `init` when using `create_bk = FALSE`.")
X3 <- FBM(nrow(x0), ncol(x0), type = t,
backingfile = sub_bk(X$bk), create_bk = FALSE)
expect_s4_class(X3, "FBM")
expect_true(typeof(X3) == t)
expect_equal(X3[], X[])
expect_equal(X3$is_read_only, FALSE)
}
}
})
################################################################################
test_that("big_attach() works (also with previous versions)", {
X <- big_attachExtdata()
expect_s4_class(X, "FBM.code256")
expect_false(X$is_read_only)
old_file <- system.file("testdata", "before_readonly.rds", package = "bigstatsr")
expect_message(X <- big_attach(old_file),
"[FBM from an old version? Reconstructing..|You should `$save()` it again.]")
expect_s4_class(X, "FBM.code256")
expect_false(X$is_read_only)
})
################################################################################
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.