Nothing
context("plot helpers coverage")
library(neuroim2)
# ---- slice_to_matrix ----
test_that("slice_to_matrix handles a plain matrix", {
m <- matrix(1:9, nrow = 3)
result <- neuroim2:::slice_to_matrix(m)
expect_true(is.matrix(result))
expect_equal(result, m)
})
test_that("slice_to_matrix handles a NeuroSlice", {
sp <- NeuroSpace(c(5L, 5L), c(1, 1))
sl <- NeuroSlice(array(1:25, c(5, 5)), sp)
result <- neuroim2:::slice_to_matrix(sl)
expect_true(is.matrix(result))
})
# ---- slice_df ----
test_that("slice_df returns a data.frame with x, y, value columns", {
m <- matrix(rnorm(25), nrow = 5)
df <- neuroim2:::slice_df(m)
expect_true(is.data.frame(df))
expect_true(all(c("x", "y", "value") %in% names(df)))
expect_equal(nrow(df), 25L)
})
test_that("slice_df respects downsample parameter", {
m <- matrix(rnorm(100), nrow = 10)
df_full <- neuroim2:::slice_df(m, downsample = 1L)
df_down <- neuroim2:::slice_df(m, downsample = 2L)
expect_lt(nrow(df_down), nrow(df_full))
})
test_that("slice_df works with a NeuroSlice", {
sp <- NeuroSpace(c(6L, 6L), c(1, 1))
sl <- NeuroSlice(array(rnorm(36), c(6, 6)), sp)
df <- neuroim2:::slice_df(sl)
expect_true(is.data.frame(df))
expect_equal(nrow(df), 36L)
})
# ---- compute_limits ----
test_that("compute_limits mode='data' returns min/max", {
x <- c(1, 2, 3, 4, 5)
lim <- neuroim2:::compute_limits(x, mode = "data")
expect_equal(lim, c(1, 5))
})
test_that("compute_limits mode='robust' returns quantile range", {
set.seed(1)
x <- rnorm(1000)
lim <- neuroim2:::compute_limits(x, mode = "robust", probs = c(0.02, 0.98))
expect_length(lim, 2)
expect_lt(lim[1], lim[2])
})
test_that("compute_limits returns c(0,1) for empty input", {
lim <- neuroim2:::compute_limits(numeric(0))
expect_equal(lim, c(0, 1))
})
test_that("compute_limits handles all-NA input", {
lim <- neuroim2:::compute_limits(c(NA_real_, NA_real_))
expect_equal(lim, c(0, 1))
})
test_that("compute_limits falls back to data range when robust range collapses", {
x <- rep(3, 100)
lim <- neuroim2:::compute_limits(x, mode = "robust")
expect_equal(lim[1], lim[2]) # range is trivially equal when all same
})
# ---- rescale01 ----
test_that("rescale01 maps to [0,1]", {
x <- c(0, 5, 10)
r <- neuroim2:::rescale01(x, from = c(0, 10))
expect_equal(r, c(0, 0.5, 1))
})
test_that("rescale01 returns 0.5 when from range is zero", {
x <- c(1, 2, 3)
r <- neuroim2:::rescale01(x, from = c(5, 5))
expect_true(all(r == 0.5))
})
test_that("rescale01 returns x unchanged when from is NULL", {
x <- c(1, 2, 3)
r <- neuroim2:::rescale01(x, from = NULL)
expect_equal(r, x)
})
test_that("rescale01 returns x unchanged when from has non-finite values", {
x <- c(1, 2, 3)
r <- neuroim2:::rescale01(x, from = c(NA_real_, 5))
expect_equal(r, x)
})
# ---- matrix_to_colors ----
test_that("matrix_to_colors returns a character vector", {
m <- matrix(1:9, nrow = 3)
cols <- neuroim2:::matrix_to_colors(m)
expect_type(cols, "character")
expect_equal(length(cols), 9L)
})
test_that("matrix_to_colors respects explicit limits", {
m <- matrix(c(0, 5, 10), nrow = 1)
cols <- neuroim2:::matrix_to_colors(m, limits = c(0, 10))
expect_type(cols, "character")
expect_equal(length(cols), 3L)
})
test_that("matrix_to_colors works with alpha_map", {
m <- matrix(1:4, nrow = 2)
amap <- matrix(c(0.5, 0.5, 1, 1), nrow = 2)
cols <- neuroim2:::matrix_to_colors(m, alpha_map = amap)
expect_type(cols, "character")
})
# ---- matrix_to_rgba ----
test_that("matrix_to_rgba returns a 4-layer array", {
m <- matrix(1:9, nrow = 3)
rgba <- neuroim2:::matrix_to_rgba(m)
expect_equal(length(dim(rgba)), 3L)
expect_equal(dim(rgba)[3], 4L)
})
test_that("matrix_to_rgba alpha channel is between 0 and 1", {
m <- matrix(1:9, nrow = 3)
rgba <- neuroim2:::matrix_to_rgba(m)
expect_true(all(rgba[,,4] >= 0 & rgba[,,4] <= 1))
})
test_that("matrix_to_rgba with alpha_map overrides alpha", {
m <- matrix(1:4, nrow = 2)
amap <- matrix(c(0.2, 0.4, 0.6, 0.8), nrow = 2)
rgba <- neuroim2:::matrix_to_rgba(m, alpha_map = amap)
expect_equal(dim(rgba), c(2L, 2L, 4L))
})
test_that("matrix_to_rgba with NULL limits auto-computes", {
m <- matrix(seq(0, 1, length.out = 9), nrow = 3)
rgba <- neuroim2:::matrix_to_rgba(m, limits = NULL)
expect_equal(dim(rgba)[3], 4L)
})
# ---- annotate_orientation ----
test_that("annotate_orientation returns a list of ggplot layers", {
layers <- annotate_orientation("axial", dims = c(10, 10))
expect_true(is.list(layers))
expect_equal(length(layers), 4L)
})
test_that("annotate_orientation works for coronal plane", {
layers <- annotate_orientation("coronal", dims = c(8, 12))
expect_equal(length(layers), 4L)
})
test_that("annotate_orientation works for sagittal plane", {
layers <- annotate_orientation("sagittal", dims = c(8, 12))
expect_equal(length(layers), 4L)
})
# ---- coord_neuro_fixed ----
test_that("coord_neuro_fixed returns a list of ggplot components", {
result <- neuroim2:::coord_neuro_fixed()
expect_true(is.list(result))
expect_equal(length(result), 2L)
})
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.