tests/testthat/test-simulate_lag_time.R

library(testthat)

context("Test the simulate method with lag times")

seed <- 1
source(file.path(getwd(), test_path(), "test-utils.R"))

test_that("Simulate a bolus with fixed lag time in dataset", {
  model <- model_suite$testing$nonmem$advan4_trans4
  regFilename <- "bolus_fixed_lag_time"

  dataset <- Dataset(3) %>%
    add(Bolus(time = 0, amount = 1000, compartment = 1, lag = 2)) %>% # 2-hour lag time
    add(Observations(times = seq(0, 24, by = 0.5)))

  dataset_regression_test(dataset, model, seed = seed, filename = paste0(regFilename, "_dataset"))

  simulation <- expression(model %>% simulate(dataset, dest = destEngine, seed = seed))
  test <- expression(
    expect_equal(nrow(results), 49 * length(dataset)),
    output_regression_test(results, output = "CP", filename = regFilename)
  )
  campsis_test(simulation, test, env = environment())
})

test_that("Simulate a bolus with fixed lag time in model", {
  model <- model_suite$testing$nonmem$advan4_trans4
  regFilename <- "bolus_fixed_lag_time"

  dataset <- Dataset(3) %>%
    add(Bolus(time = 0, amount = 1000, compartment = 1)) %>%
    add(Observations(times = seq(0, 24, by = 0.5)))

  # 2 hours lag time, no variability
  model <- model %>% add(LagTime(compartment = 1, rhs = "2"))

  dataset_regression_test(dataset, model, seed = seed, filename = paste0(regFilename, "_model"))

  simulation <- expression(model %>% simulate(dataset, dest = destEngine, seed = seed))
  test <- expression(
    expect_equal(nrow(results), 49 * length(dataset)),
    output_regression_test(results, output = "CP", filename = regFilename)
  )
  campsis_test(simulation, test, env = environment())
})

Try the campsis package in your browser

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

campsis documentation built on Aug. 5, 2026, 9:07 a.m.