aboutsummaryrefslogtreecommitdiff
path: root/tests/testthat/test_mkinmod.R
blob: 1bdf094b03f12d217a3e3f7c58fcc854da7f76f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
context("mkinmod model generation and printing")

test_that("mkinmod stops to prevent and/or explain user errors", {
  expect_error(mkinmod(compound_x = mkinsub("SFO", to = "compound_x_y"),
                       compound_x_y = mkinsub("SFO")), 
               "variable names can not contain each other")
  expect_error(mkinmod(compound_to_x = mkinsub("SFO")),
               "can not contain _to_")
  expect_error(mkinmod(sink = mkinsub("SFO")),
               "Naming")

  expect_error(mkinmod(parent = mkinsub("SFO"), use_of_ff = "foo"))

  expect_error(mkinmod(parent = mkinsub("foo")))

  expect_error(mkinmod(parent = mkinsub("SFO", "m1"),
                       m1 = mkinsub("FOMC")),
               "only implemented for the first compartment")

  expect_error(mkinmod(parent = mkinsub("IORE", "m1"),
                       m1 = mkinsub("SFO"), use_of_ff = "min"),
               "only supported with formation fractions")

  expect_error(mkinmod(parent = mkinsub("SFORB", "m1"),
                       m1 = mkinsub("SFO"), use_of_ff = "max"),
               "not supported")
})

test_that("Printing mkinmod models is reproducible", {
  m_test <- mkinmod(parent = mkinsub("SFO", "m1"), 
                    m1 = mkinsub("SFO"),
                    quiet = TRUE)
  m_test$cf <- NULL # Remove to make test robust against missing gcc
  expect_known_output(print(m_test),
                      file = "SFO_SFO_printed.txt")
})

Contact - Imprint