tests/testthat/test-micro-datasets.R

test_that("micro_S loads and has expected shape/types", {
  expect_silent(data("micro_S", package = "CascadeData"))
  expect_true(exists("micro_S"))
  expect_s3_class(micro_S, "data.frame")
  # Rows as documented in ?micro_S
  expect_equal(nrow(micro_S), 54613)
  # At least some columns
  expect_gte(ncol(micro_S), 4)
  # All columns numeric
  expect_true(all(vapply(micro_S, is.numeric, logical(1L))))
  # Rownames are present and unique
  expect_equal(length(rownames(micro_S)), nrow(micro_S))
  expect_true(!anyDuplicated(rownames(micro_S)) > 0)
})

test_that("micro_US loads and has expected shape/types", {
  expect_silent(data("micro_US", package = "CascadeData"))
  expect_true(exists("micro_US"))
  expect_s3_class(micro_US, "data.frame")
  expect_equal(nrow(micro_US), 54613)
  expect_gte(ncol(micro_US), 4)
  expect_true(all(vapply(micro_US, is.numeric, logical(1L))))
  expect_equal(length(rownames(micro_US)), nrow(micro_US))
  expect_true(!anyDuplicated(rownames(micro_US)) > 0)
})

test_that("micro_S and micro_US have the same probeset ordering", {
  # Ensure both datasets are loaded
  if (!exists("micro_S")) data("micro_S", package = "CascadeData")
  if (!exists("micro_US")) data("micro_US", package = "CascadeData")
  expect_equal(rownames(micro_S), rownames(micro_US))
  # And same number of columns (paired samples across time points)
  expect_equal(ncol(micro_S), ncol(micro_US))
})

test_that("datalist enumerates datasets", {
  dl <- system.file("data/datalist", package = "CascadeData")
  expect_true(file.exists(dl))
  lines <- readLines(dl, warn = FALSE)
  expect_true("micro_S" %in% lines)
  expect_true("micro_US" %in% lines)
})

test_that("No obvious non-finite values in datasets (allowing a small fraction)", {
  if (!exists("micro_S")) data("micro_S", package = "CascadeData")
  if (!exists("micro_US")) data("micro_US", package = "CascadeData")
  ms_mat <- as.matrix(micro_S)
  mu_mat <- as.matrix(micro_US)
  # Allow up to 0.1% non-finite values to avoid over-strict failures
  frac_nonfinite_ms <- mean(!is.finite(ms_mat))
  frac_nonfinite_mu <- mean(!is.finite(mu_mat))
  expect_lt(frac_nonfinite_ms, 1e-3)
  expect_lt(frac_nonfinite_mu, 1e-3)
})

Try the CascadeData package in your browser

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

CascadeData documentation built on Nov. 5, 2025, 5:30 p.m.