aboutsummaryrefslogtreecommitdiff
path: root/tests/testthat/test_mhmkin.R
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testthat/test_mhmkin.R')
-rw-r--r--tests/testthat/test_mhmkin.R34
1 files changed, 22 insertions, 12 deletions
diff --git a/tests/testthat/test_mhmkin.R b/tests/testthat/test_mhmkin.R
index e2339f28..da063326 100644
--- a/tests/testthat/test_mhmkin.R
+++ b/tests/testthat/test_mhmkin.R
@@ -3,8 +3,11 @@ 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_const <- mmkin(c("SFO", "FOMC"), ds_fomc[1:6], cores = n_cores, quiet = TRUE)
+
+ expect_known_output(
+ print(fits_synth_const),
+ "print_fits_synth_const.txt")
fits_synth_tc <- suppressWarnings(
update(fits_synth_const, error_model = "tc"))
@@ -19,8 +22,8 @@ test_that("Multiple hierarchical kinetic models can be fitted and diagnosed", {
print(illparms(hfits)),
"illparms_hfits_synth.txt")
- expect_equal(which.min(AIC(hfits)), 3)
- expect_equal(which.min(BIC(hfits)), 3)
+ expect_equal(which.min(AIC(hfits)), 4)
+ expect_equal(which.min(BIC(hfits)), 4)
hfit_sfo_tc <- update(hfits[["SFO", "tc"]],
covariance.model = diag(c(0, 1)))
@@ -38,12 +41,19 @@ test_that("Multiple hierarchical kinetic models can be fitted and diagnosed", {
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_sfo_reduced <- update(hfits,
+ no_random_effect = illparms(hfits))
+ expect_equal(
+ as.character(illparms(hfits_sfo_reduced)),
+ rep("", 4))
+
+ # We can also manually set up an object specifying random effects to be
+ # excluded. Entries in the inital list have to be by column
+ no_ranef <- list("parent_0", "log_beta", "parent_0", c("parent_0", "log_beta"))
+ dim(no_ranef) <- c(2, 2)
+
+ hfits_sfo_reduced_2 <- update(hfits,
+ no_random_effect = no_ranef)
+ expect_equivalent(round(anova(hfits_sfo_reduced), 0),
+ round(anova(hfits_sfo_reduced_2), 0))
})

Contact - Imprint