tests/testthat/test-advan5.R

test_that("test advan5/advan7 translations", {
  
  .a <- function(k, clear=FALSE) {
    if (clear) .clearNonmem2rx()
    .nonmem2rx$advan <- 5L
    .advan5handleK(k)
    list(advan5=.nonmem2rx$advan5,
         advan5k=.nonmem2rx$advan5k,
         advan5max=.nonmem2rx$advan5max)
  }


  expect_equal(.a("k15", clear=TRUE),
               list(advan5 = c("-k15*rxddta1", "", "", "", "+k15*rxddta1"), advan5k = "k15", advan5max = 5))

  expect_equal(.a("k56"),
               list(advan5 = c("-k15*rxddta1", "", "", "",
                               "+k15*rxddta1-k56*rxddta5",
                               "+k56*rxddta5"),
                    advan5k = c("k15", "k56"), advan5max = 6))

  expect_equal(.a("K67"),
               list(advan5 = c("-k15*rxddta1", "", "", "",
                               "+k15*rxddta1-k56*rxddta5",
                               "+k56*rxddta5-K67*rxddta6",
                               "+K67*rxddta6"),
                    advan5k = c("k15", "k56", "K67"),
                    advan5max = 7))

  expect_equal(.a("K74"),
               list(advan5 = c("-k15*rxddta1", "", "",
                               "+K74*rxddta7", "+k15*rxddta1-k56*rxddta5",
                               "+k56*rxddta5-K67*rxddta6",
                               "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74"),
                    advan5max = 7))

  expect_equal(.a("K42"),
               list(advan5 = c("-k15*rxddta1", "+K42*rxddta4", "",
                               "+K74*rxddta7-K42*rxddta4", "+k15*rxddta1-k56*rxddta5",
                               "+k56*rxddta5-K67*rxddta6", "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42"),
                    advan5max = 7))

  expect_equal(.a("K42"),
               list(advan5 = c("-k15*rxddta1", "+K42*rxddta4", "",
                               "+K74*rxddta7-K42*rxddta4", "+k15*rxddta1-k56*rxddta5",
                               "+k56*rxddta5-K67*rxddta6", "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42"),
                    advan5max = 7))

  expect_equal(.a("K40"),
               list(advan5 = c("-k15*rxddta1", "+K42*rxddta4", "",
                               "+K74*rxddta7-K42*rxddta4-K40*rxddta4",
                               "+k15*rxddta1-k56*rxddta5", "+k56*rxddta5-K67*rxddta6",
                               "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42", "K40"), advan5max =7))

  expect_equal(.a("K24"),
               list(advan5 = c("-k15*rxddta1", "+K42*rxddta4-K24*rxddta2", "",
                               "+K74*rxddta7-K42*rxddta4-K40*rxddta4+K24*rxddta2",
                               "+k15*rxddta1-k56*rxddta5", "+k56*rxddta5-K67*rxddta6",
                               "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42", "K40", "K24"), advan5max = 7))

  expect_equal(.a("K24"),
               list(advan5 = c("-k15*rxddta1", "+K42*rxddta4-K24*rxddta2", "",
                               "+K74*rxddta7-K42*rxddta4-K40*rxddta4+K24*rxddta2",
                               "+k15*rxddta1-k56*rxddta5", "+k56*rxddta5-K67*rxddta6",
                               "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42", "K40", "K24"), advan5max = 7))

  expect_equal(.a("K23"),
               list(advan5 =
                      c("-k15*rxddta1",
                        "+K42*rxddta4-K24*rxddta2-K23*rxddta2",
                        "+K23*rxddta2", "+K74*rxddta7-K42*rxddta4-K40*rxddta4+K24*rxddta2",
                        "+k15*rxddta1-k56*rxddta5", "+k56*rxddta5-K67*rxddta6",
                        "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42", "K40", "K24", "K23"), advan5max = 7))

  expect_equal(.a("K32"),
               list(advan5 = c("-k15*rxddta1", "+K42*rxddta4-K24*rxddta2-K23*rxddta2+K32*rxddta3",
                               "+K23*rxddta2-K32*rxddta3", "+K74*rxddta7-K42*rxddta4-K40*rxddta4+K24*rxddta2",
                               "+k15*rxddta1-k56*rxddta5", "+k56*rxddta5-K67*rxddta6", "+K67*rxddta6-K74*rxddta7"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42", "K40", "K24", "K23", "K32"), advan5max = 7))

  expect_equal(.a("K10T0"),
               list(advan5 = c("-k15*rxddta1", "+K42*rxddta4-K24*rxddta2-K23*rxddta2+K32*rxddta3",
                               "+K23*rxddta2-K32*rxddta3", "+K74*rxddta7-K42*rxddta4-K40*rxddta4+K24*rxddta2",
                               "+k15*rxddta1-k56*rxddta5", "+k56*rxddta5-K67*rxddta6", "+K67*rxddta6-K74*rxddta7",
                               "", "", "-K10T0*rxddta10"),
                    advan5k = c("k15", "k56", "K67", "K74", "K42", "K40", "K24", "K23", "K32", "K10T0"),
                    advan5max = 10))

  expect_equal(.advan5odes(),
               "\nd/dt(rxddta1) <- -k15*rxddta1\nd/dt(rxddta2) <- K42*rxddta4-K24*rxddta2-K23*rxddta2+K32*rxddta3\nd/dt(rxddta3) <- K23*rxddta2-K32*rxddta3\nd/dt(rxddta4) <- K74*rxddta7-K42*rxddta4-K40*rxddta4+K24*rxddta2\nd/dt(rxddta5) <- k15*rxddta1-k56*rxddta5\nd/dt(rxddta6) <- k56*rxddta5-K67*rxddta6\nd/dt(rxddta7) <- K67*rxddta6-K74*rxddta7\nd/dt(rxddta10) <- -K10T0*rxddta10")

})

Try the nonmem2rx package in your browser

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

nonmem2rx documentation built on April 3, 2025, 11:05 p.m.