tests/testthat/test-sparse-neurovec-validity.R

test_that("SparseNeuroVec validity catches mismatched shapes", {
  sp <- NeuroSpace(c(8,8,8,5), c(2,2,2))
  bad_mask <- array(TRUE, c(4,4,4)) # too small relative to space
  dat <- matrix(0, nrow = 5, ncol = 10)
  expect_error(SparseNeuroVec(dat, sp, bad_mask), "Invalid mask dimensions|data argument must have three dimensions")
})

test_that("SparseNeuroVec validity enforces nrow(data)=time, ncol(data)=sum(mask)", {
  sp <- NeuroSpace(c(6,6,6,4), c(2,2,2))
  mask <- array(runif(6*6*6) > 0.8, c(6,6,6))
  dat_wrong_time <- matrix(0, nrow = 3, ncol = sum(mask))
  expect_error(SparseNeuroVec(dat_wrong_time, sp, mask), "Data/time mismatch")
  dat_wrong_cols <- matrix(0, nrow = 4, ncol = sum(mask) + 1)
  expect_error(SparseNeuroVec(dat_wrong_cols, sp, mask), "Data/mask mismatch|Matrix dimensions .* do not match mask cardinality")
})

Try the neuroim2 package in your browser

Any scripts or data that you put into this service are public.

neuroim2 documentation built on April 16, 2026, 5:07 p.m.