context("SplatParams") test_that("nBatches checks work", { params <- newSplatParams() expect_error(setParam(params, "nCells", 1), "nCells cannot be set directly, set batchCells instead") expect_error(setParam(params, "nBatches", 1), "nBatches cannot be set directly, set batchCells instead") }) test_that("nGroups checks work", { params <- newSplatParams() expect_error(setParam(params, "nGroups", 1), "nGroups cannot be set directly, set group.prob instead") }) test_that("path.from checks work", { params <- newSplatParams() params <- setParams(params, group.prob = c(0.5, 0.5)) params <- setParamUnchecked(params, "path.from", c(0, 1)) expect_silent(validObject(params)) params <- setParamUnchecked(params, "path.from", c(0, 3)) expect_error(validObject(params), paste('invalid class "SplatParams" object: path.from:', "All elements must be <= 2")) params <- setParamUnchecked(params, "path.from", c(1, 0)) expect_error(validObject(params), "path cannot begin at itself") params <- newSplatParams() params <- setParams(params, group.prob = c(0.3, 0.3, 0.4)) params <- setParamUnchecked(params, "path.from", c(2, 1, 1)) expect_error(validObject(params), "origin must be specified in path.from") })