1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
context("check saveHDF5MultiAssayExperiment")
test_that("saveHDF5MultiAssayExperiment is working", {
env <- new.env(parent = emptyenv())
data("miniACC", envir = env)
miniACC <- env[["miniACC"]]
testDir <- file.path(tempdir(), "test_mae")
saveHDF5MultiAssayExperiment(miniACC, dir = testDir, replace = TRUE)
expect_identical(
list.files(testDir), c("miniACC_experiments.h5", "miniACC_mae.rds")
)
x <- loadHDF5MultiAssayExperiment(dir = testDir)
expect_true(validObject(x))
expect_true(is(x, "MultiAssayExperiment"))
## test that classes are largely the same (except matrix > HDF5Matrix)
resclasses <- c(
rep("SummarizedExperiment", 3), "HDF5Matrix", "SummarizedExperiment"
)
names(resclasses) <- names(x)
expect_equal(
vapply(experiments(x), class, character(1L)),
resclasses
)
on.exit(unlink(testDir, recursive = TRUE))
})
test_that("prefix argument works as intended", {
testDir <- file.path(tempdir(), "test_mae")
saveHDF5MultiAssayExperiment(
miniACC, dir = testDir, prefix = "", replace = TRUE
)
exp_files <- c("experiments.h5", "mae.rds")
expect_identical(list.files(testDir), exp_files)
mae <- miniACC
testDir0 <- file.path(tempdir(), "test_mae0", .Platform$file.sep)
saveHDF5MultiAssayExperiment(
mae, dir = testDir0, replace = TRUE
)
file.copy(from = file.path(testDir, exp_files), to = testDir0)
expect_error(loadHDF5MultiAssayExperiment(testDir0))
expect_true(
validObject(loadHDF5MultiAssayExperiment(testDir0, "mae"))
)
expect_true(
validObject(loadHDF5MultiAssayExperiment(testDir0, ""))
)
on.exit({
unlink(testDir0, recursive = TRUE)
unlink(testDir, recursive = TRUE)
})
})
test_that("array assays work with saveHDF5MultiAssayExperiment", {
A <- array(1:24, 4:2, dimnames =
list(letters[1:4], LETTERS[1:3], c("A", "B"))
)
B <- matrix(1:12, ncol=3, dimnames = list(letters[1:4], LETTERS[1:3]))
se2 <- SummarizedExperiment(list(A=A, B=B))
mae2 <- MultiAssayExperiment(ExperimentList(one_more_se=se2))
testDir <- file.path(tempdir(), "test_mae")
expect_warning(
saveHDF5MultiAssayExperiment(mae2, testDir, replace = TRUE)
)
expect_true(
validObject(loadHDF5MultiAssayExperiment(testDir))
)
expect_true(
validObject(loadHDF5MultiAssayExperiment(testDir, "mae2"))
)
on.exit(unlink(testDir, recursive = TRUE))
})
context("check loadHDF5MultiAssayExperiment")
test_that("loadHDF5MultiAssayExperiment is working", {
env <- new.env(parent = emptyenv())
data("miniACC", envir = env)
miniACC <- env[["miniACC"]]
testDir <- file.path(tempdir(), "test_mae")
on.exit(unlink(testDir, recursive = TRUE))
saveHDF5MultiAssayExperiment(
miniACC, prefix = "", dir = testDir, replace = TRUE
)
expect_true(
validObject(loadHDF5MultiAssayExperiment(dir = testDir, prefix = ""))
)
expect_true(
validObject(loadHDF5MultiAssayExperiment(dir = testDir))
)
})
test_that("loadHDF5MultiAssayExperiment prefix input is consistent", {
env <- new.env(parent = emptyenv())
data("miniACC", envir = env)
miniACC <- env[["miniACC"]]
testDir <- file.path(tempdir(), "test_mae")
on.exit(unlink(testDir, recursive = TRUE))
saveHDF5MultiAssayExperiment(
miniACC, prefix = "test", dir = testDir, replace = TRUE
)
expect_true(
validObject(
loadHDF5MultiAssayExperiment(dir = testDir, prefix = "test")
)
)
expect_true(
validObject(
loadHDF5MultiAssayExperiment(dir = testDir, prefix = "test_")
)
)
expect_error(
validObject(
loadHDF5MultiAssayExperiment(dir = testDir, prefix = "error")
)
)
})
|