aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2022-08-10 12:58:35 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2022-08-10 12:58:35 +0200
commit9e346fabe99de71b21ef085be102027cfa774910 (patch)
tree9d483ad1a103b51e55a6f0b68886a9d9c2af8a8c /tests
parentbf8f22838eb2b414f0171a176873b4373d3a497f (diff)
Batch processing for hierarchical fits
- 'R/mhmkin.R': New method for performing multiple hierarchical mkin fits in one function call, optionally in parallel. - 'R/saem.R': 'logLik' and 'update' methods for 'saem.mmkin' objects. - 'R/illparms.R': Add methods for 'saem.mmkin' and 'mhmkin' objects. tests: Use 2 cores on travis, should work according to docs
Diffstat (limited to 'tests')
-rw-r--r--tests/testthat/convergence_fits_synth_const.txt0
-rw-r--r--tests/testthat/convergence_hfits_synth.txt0
-rw-r--r--tests/testthat/illparms_hfits_synth.txt0
-rw-r--r--tests/testthat/setup_script.R4
-rw-r--r--tests/testthat/test_mhmkin.R31
5 files changed, 33 insertions, 2 deletions
diff --git a/tests/testthat/convergence_fits_synth_const.txt b/tests/testthat/convergence_fits_synth_const.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/testthat/convergence_fits_synth_const.txt
diff --git a/tests/testthat/convergence_hfits_synth.txt b/tests/testthat/convergence_hfits_synth.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/testthat/convergence_hfits_synth.txt
diff --git a/tests/testthat/illparms_hfits_synth.txt b/tests/testthat/illparms_hfits_synth.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/testthat/illparms_hfits_synth.txt
diff --git a/tests/testthat/setup_script.R b/tests/testthat/setup_script.R
index 62cdf78e..af059668 100644
--- a/tests/testthat/setup_script.R
+++ b/tests/testthat/setup_script.R
@@ -8,8 +8,8 @@ if (identical(Sys.getenv("NOT_CRAN"), "true")) {
n_cores <- 1
}
-# We are only allowed one core on travis, but they also set NOT_CRAN=true
-if (Sys.getenv("TRAVIS") != "") n_cores = 1
+# Use the two available cores on travis
+if (Sys.getenv("TRAVIS") != "") n_cores = 2
# On Windows we would need to make a cluster first
if (Sys.info()["sysname"] == "Windows") n_cores = 1
diff --git a/tests/testthat/test_mhmkin.R b/tests/testthat/test_mhmkin.R
new file mode 100644
index 00000000..5243f971
--- /dev/null
+++ b/tests/testthat/test_mhmkin.R
@@ -0,0 +1,31 @@
+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"))
+
+ expect_known_output(
+ convergence(fits_synth_const),
+ "convergence_fits_synth_const.txt")
+
+ hfits <- mhmkin(list(fits_synth_const, fits_synth_tc))
+
+ expect_known_output(
+ convergence(hfits),
+ "convergence_hfits_synth.txt")
+
+ expect_known_output(
+ illparms(hfits),
+ "illparms_hfits_synth.txt")
+
+ expect_equal(which.min(AIC(hfits)), 3)
+
+ hfit_sfo_tc <- update(hfits[["SFO", "tc"]],
+ covariance.model = diag(c(0, 1)))
+ expect_equal(illparms(hfit_sfo_tc), character(0))
+})

Contact - Imprint