aboutsummaryrefslogtreecommitdiff
path: root/tests/testthat/test_mhmkin.R
blob: 93333ac12d3a2fad9f181b77dfef73b93a6f9900 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
context("Batch fitting and diagnosing hierarchical kinetic models")

test_that("Multiple hierarchical kinetic models can be fitted and diagnosed", {

  skip_on_cran()
  fits_synth_const <- suppressWarnings(
    mmkin(c("SFO", "FOMC"), ds_sfo[1:6], cores = n_cores, quiet = TRUE))

  fits_synth_tc <- suppressWarnings(
    update(fits_synth_const, error_model = "tc"))

  hfits <- mhmkin(list(fits_synth_const, fits_synth_tc))

  expect_known_output(
    print(hfits),
    "print_hfits_synth.txt")

  expect_known_output(
    print(illparms(hfits)),
    "illparms_hfits_synth.txt")

  expect_equal(which.min(AIC(hfits)), 3)
  expect_equal(which.min(BIC(hfits)), 3)

  hfit_sfo_tc <- update(hfits[["SFO", "tc"]],
    covariance.model = diag(c(0, 1)))
  expect_equal(as.character(illparms(hfit_sfo_tc)), character(0))
  expect_silent(print(illparms(hfit_sfo_tc)))

  test_summary <- summary(hfit_sfo_tc)
  test_summary$saemixversion <- "Dummy 0.0 for testing"
  test_summary$mkinversion <- "Dummy 0.0 for testing"
  test_summary$Rversion <- "Dummy R version for testing"
  test_summary$date.fit <- "Dummy date for testing"
  test_summary$date.summary <- "Dummy date for testing"
  test_summary$time <- c(elapsed = "test time 0")

  expect_known_output(print(test_summary, digits = 1),
    "summary_hfit_sfo_tc.txt")

  # It depends on the platform exactly which of the datasets fail to converge
  # with FOMC, because they were generated to be SFO
  skip_on_travis()

  expect_known_output(
    print(fits_synth_const),
    "print_fits_synth_const.txt")

  hfits_no_ranef_auto <- update(hfits, no_random_effect = "auto", auto_ranef_threshold = 2)

  expect_known_output(
    print(hfits_no_ranef_auto),
    "print_hfits_synth_no_ranef_auto.txt")

  expect_known_output(
    print(illparms(hfits_no_ranef_auto)),
    "illparms_hfits_synth_no_ranef_auto.txt")

})

Contact - Imprint