diff options
Diffstat (limited to 'tests/testthat')
-rw-r--r-- | tests/testthat/test_irls.R | 2 | ||||
-rw-r--r-- | tests/testthat/test_schaefer07_complex_case.R | 26 | ||||
-rw-r--r-- | tests/testthat/test_synthetic_data_for_UBA_2014.R | 49 |
3 files changed, 37 insertions, 40 deletions
diff --git a/tests/testthat/test_irls.R b/tests/testthat/test_irls.R index 0b005182..6389b662 100644 --- a/tests/testthat/test_irls.R +++ b/tests/testthat/test_irls.R @@ -34,12 +34,14 @@ SFO_lin_a <- synthetic_data_for_UBA_2014[[1]]$data DFOP_par_c <- synthetic_data_for_UBA_2014[[12]]$data test_that("Reweighting method 'obs' works", { + skip_on_cran() fit_irls_1 <- mkinfit(m_synth_SFO_lin, SFO_lin_a, reweight.method = "obs", quiet = TRUE) parms_1 <- round(fit_irls_1$bparms.optim, c(1, 4, 4, 4, 4, 4)) expect_equivalent(parms_1, c(102.1, 0.7389, 0.2982, 0.0203, 0.7677, 0.7246)) }) test_that("Reweighting method 'tc' works", { + skip_on_cran() fit_irls_2 <- mkinfit(m_synth_DFOP_par, DFOP_par_c, reweight.method = "tc", quiet = TRUE) parms_2 <- signif(fit_irls_2$bparms.optim, 3) expect_equivalent(parms_2, c(99.3, 0.041, 0.00962, 0.597, 0.393, 0.298, 0.0203, 0.707)) diff --git a/tests/testthat/test_schaefer07_complex_case.R b/tests/testthat/test_schaefer07_complex_case.R index 1b51e5d2..80306bbe 100644 --- a/tests/testthat/test_schaefer07_complex_case.R +++ b/tests/testthat/test_schaefer07_complex_case.R @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Johannes Ranke
+# Copyright (C) 2014-2015,2018 Johannes Ranke
# Contact: jranke@uni-bremen.de
# This file is part of the R package mkin
@@ -20,19 +20,20 @@ context("Complex test case from Schaefer et al. (2007) Piacenza paper")
-schaefer07_complex_model <- mkinmod(
- parent = list(type = "SFO", to = c("A1", "B1", "C1"), sink = FALSE),
- A1 = list(type = "SFO", to = "A2"),
- B1 = list(type = "SFO"),
- C1 = list(type = "SFO"),
- A2 = list(type = "SFO"), use_of_ff = "max", quiet = TRUE)
+test_that("Complex test case from Schaefer (2007) can be reproduced (10% tolerance)", {
+
+ skip_on_cran()
+ schaefer07_complex_model <- mkinmod(
+ parent = list(type = "SFO", to = c("A1", "B1", "C1"), sink = FALSE),
+ A1 = list(type = "SFO", to = "A2"),
+ B1 = list(type = "SFO"),
+ C1 = list(type = "SFO"),
+ A2 = list(type = "SFO"), use_of_ff = "max", quiet = TRUE)
-schaefer07_long <- mkin_wide_to_long(schaefer07_complex_case, time = "time")
+ schaefer07_long <- mkin_wide_to_long(schaefer07_complex_case, time = "time")
-fit.default <- mkinfit(schaefer07_complex_model, schaefer07_long, quiet = TRUE)
+ fit.default <- mkinfit(schaefer07_complex_model, schaefer07_long, quiet = TRUE)
-test_that("Complex test case from Schaefer (2007) can be reproduced (10% tolerance)", {
-
s <- summary(fit.default)
r <- schaefer07_complex_results
@@ -57,12 +58,11 @@ test_that("Complex test case from Schaefer (2007) can be reproduced (10% toleran r$means <- (r$KinGUI + r$ModelMaker)/2
r$mkin.deviation <- abs(round(100 * ((r$mkin - r$means)/r$means), digits=1))
expect_equal(r$mkin.deviation < 10, rep(TRUE, 14))
-})
-test_that("We avoid the local minumum with default settings", {
# If we use optimisation algorithm 'Marq' we get a local minimum with a
# sum of squared residuals of 273.3707
# When using 'Marq', we need to give a good starting estimate e.g. for k_A2 in
# order to get the optimum with sum of squared residuals 240.5686
expect_equal(round(fit.default$ssr, 4), 240.5686)
})
+
diff --git a/tests/testthat/test_synthetic_data_for_UBA_2014.R b/tests/testthat/test_synthetic_data_for_UBA_2014.R index ea762353..fd3e8bba 100644 --- a/tests/testthat/test_synthetic_data_for_UBA_2014.R +++ b/tests/testthat/test_synthetic_data_for_UBA_2014.R @@ -1,4 +1,4 @@ -# Copyright (C) 2015 Johannes Ranke +# Copyright (C) 2015, 2018 Johannes Ranke # Contact: jranke@uni-bremen.de # This file is part of the R package mkin @@ -19,46 +19,41 @@ context("Results for synthetic data established in expertise for UBA (Ranke 2014)") -m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"), - M1 = mkinsub("SFO", "M2"), - M2 = mkinsub("SFO"), - use_of_ff = "max", quiet = TRUE) +test_that("Results are correct for SFO_lin_a", { + m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"), + M1 = mkinsub("SFO", "M2"), + M2 = mkinsub("SFO"), + use_of_ff = "max", quiet = TRUE) + fit_SFO_lin_a <- mkinfit(m_synth_SFO_lin, + synthetic_data_for_UBA_2014[[1]]$data, + quiet = TRUE) + # Results for SFO_lin_a from p. 48 -m_synth_DFOP_par <- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")), - M1 = mkinsub("SFO"), - M2 = mkinsub("SFO"), - use_of_ff = "max", quiet = TRUE) - -fit_SFO_lin_a <- mkinfit(m_synth_SFO_lin, - synthetic_data_for_UBA_2014[[1]]$data, - quiet = TRUE) -fit_DFOP_par_c <- mkinfit(m_synth_DFOP_par, - synthetic_data_for_UBA_2014[[12]]$data, - quiet = TRUE) - -# Results for SFO_lin_a from p. 48 - -test_that("Fitted parameters are correct for SFO_lin_a", { parms <- round(fit_SFO_lin_a$bparms.optim, c(1, 4, 4, 4, 4, 4)) expect_equivalent(parms, c(102.1, 0.7393, 0.2992, 0.0202, 0.7687, 0.7229)) -}) - -test_that("FOCUS chi2 error levels are correct for SFO_lin_a", { errmin <- round(100 * mkinerrmin(fit_SFO_lin_a)$err.min, 2) expect_equivalent(errmin, c(8.45, 8.66, 10.58, 3.59)) }) # Results for DFOP_par_c from p. 54 -test_that("Fitted parameters are correct for DFOP_par_c", { +test_that("Results are correct for DFOP_par_c", { + skip_on_cran() + m_synth_DFOP_par <- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")), + M1 = mkinsub("SFO"), + M2 = mkinsub("SFO"), + use_of_ff = "max", quiet = TRUE) + + + fit_DFOP_par_c <- mkinfit(m_synth_DFOP_par, + synthetic_data_for_UBA_2014[[12]]$data, + quiet = TRUE) + parms <- round(fit_DFOP_par_c$bparms.optim, c(1, 4, 4, 4, 4, 4, 4, 4)) expect_equal(parms, c(parent_0 = 103.0, k_M1 = 0.0389, k_M2 = 0.0095, f_parent_to_M1 = 0.5565, f_parent_to_M2 = 0.3784, k1 = 0.3263, k2 = 0.0202, g = 0.7130)) -}) - -test_that("FOCUS chi2 error levels are correct for DFOP_par_c", { errmin <- round(100 * mkinerrmin(fit_DFOP_par_c)$err.min, 2) expect_equivalent(errmin, c(4.03, 3.05, 5.07, 3.17)) }) |