diff options
| -rw-r--r-- | test.log | 13 | ||||
| -rw-r--r-- | tests/testthat/SFO_SFO_printed.txt | 12 | ||||
| -rw-r--r-- | tests/testthat/test_from_max_mean.R | 18 | ||||
| -rw-r--r-- | tests/testthat/test_mkinds.R | 18 | ||||
| -rw-r--r-- | tests/testthat/test_mkinfit_errors.R | 19 | ||||
| -rw-r--r-- | tests/testthat/test_mkinmod.R | 52 | ||||
| -rw-r--r-- | tests/testthat/test_schaefer07_complex_case.R | 4 | 
7 files changed, 125 insertions, 11 deletions
| @@ -3,7 +3,7 @@ Testing mkin  ✔ | OK F W S | Context  
⠏ |  0       | Export dataset for reading into CAKE
⠋ |  1       | Export dataset for reading into CAKE
✔ |  1       | Export dataset for reading into CAKE  
⠏ |  0       | Calculation of FOCUS chi2 error levels
⠋ |  1       | Calculation of FOCUS chi2 error levels
⠙ |  2       | Calculation of FOCUS chi2 error levels
✔ |  2       | Calculation of FOCUS chi2 error levels [2.3 s] -
⠏ |  0       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠋ |  1       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠙ |  2       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠹ |  3       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠸ |  4       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠼ |  5       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠴ |  6       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠦ |  7       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠧ |  8       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠇ |  9       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠏ | 10       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠋ | 11       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠙ | 12       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠹ | 13       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
✔ | 13       | Results for FOCUS D established in expertise for UBA (Ranke 2014) [7.9 s] +
⠏ |  0       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠋ |  1       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠙ |  2       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠹ |  3       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠸ |  4       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠼ |  5       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠴ |  6       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠦ |  7       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠧ |  8       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠇ |  9       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠏ | 10       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠋ | 11       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠙ | 12       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠹ | 13       | Results for FOCUS D established in expertise for UBA (Ranke 2014)
✔ | 13       | Results for FOCUS D established in expertise for UBA (Ranke 2014) [8.0 s]  
⠏ |  0       | Test fitting the decline of metabolites from their maximum
⠋ |  1       | Test fitting the decline of metabolites from their maximum
⠙ |  2       | Test fitting the decline of metabolites from their maximum
⠹ |  3       | Test fitting the decline of metabolites from their maximum
✔ |  3       | Test fitting the decline of metabolites from their maximum [0.6 s]  
⠏ |  0       | Iteratively reweighted least squares (IRLS) fitting
⠋ |  1       | Iteratively reweighted least squares (IRLS) fitting
⠙ |  2       | Iteratively reweighted least squares (IRLS) fitting
⠹ |  2     1 | Iteratively reweighted least squares (IRLS) fitting
✔ |  2     1 | Iteratively reweighted least squares (IRLS) fitting [15.9 s]  ──────────────────────────────────────────────────────────────────────────────── @@ -16,11 +16,12 @@ test_logistic.R:41: skip: The logistic fit can be done via differential equation  Skip slow fit of logistic model using deSolve without compilation  ────────────────────────────────────────────────────────────────────────────────  
⠏ |  0       | Test dataset class mkinds used in gmkin
⠋ |  1       | Test dataset class mkinds used in gmkin
✔ |  1       | Test dataset class mkinds used in gmkin -
⠏ |  0       | Special cases of mkinfit calls
⠋ |  1       | Special cases of mkinfit calls
⠙ |  2       | Special cases of mkinfit calls
⠹ |  3       | Special cases of mkinfit calls
⠸ |  4       | Special cases of mkinfit calls
⠼ |  5       | Special cases of mkinfit calls
⠴ |  6       | Special cases of mkinfit calls
⠦ |  7       | Special cases of mkinfit calls
⠧ |  8       | Special cases of mkinfit calls
⠇ |  9       | Special cases of mkinfit calls
⠏ | 10       | Special cases of mkinfit calls
⠋ | 11       | Special cases of mkinfit calls
⠙ | 12       | Special cases of mkinfit calls
⠹ | 12     1 | Special cases of mkinfit calls
⠸ | 13     1 | Special cases of mkinfit calls
⠼ | 14     1 | Special cases of mkinfit calls
⠴ | 15     1 | Special cases of mkinfit calls
⠦ | 16     1 | Special cases of mkinfit calls
✔ | 16     1 | Special cases of mkinfit calls [3.0 s] +
⠏ |  0       | Special cases of mkinfit calls
⠋ |  1       | Special cases of mkinfit calls
⠙ |  2       | Special cases of mkinfit calls
⠹ |  3       | Special cases of mkinfit calls
⠸ |  4       | Special cases of mkinfit calls
⠼ |  5       | Special cases of mkinfit calls
⠴ |  6       | Special cases of mkinfit calls
⠦ |  7       | Special cases of mkinfit calls
⠧ |  8       | Special cases of mkinfit calls
⠇ |  9       | Special cases of mkinfit calls
⠏ | 10       | Special cases of mkinfit calls
⠋ | 11       | Special cases of mkinfit calls
⠙ | 12       | Special cases of mkinfit calls
⠹ | 12     1 | Special cases of mkinfit calls
⠸ | 13     1 | Special cases of mkinfit calls
⠼ | 14     1 | Special cases of mkinfit calls
⠴ | 15     1 | Special cases of mkinfit calls
⠦ | 16     1 | Special cases of mkinfit calls
✔ | 16     1 | Special cases of mkinfit calls [2.9 s]  ──────────────────────────────────────────────────────────────────────────────── -test_mkinfit_errors.R:52: skip: mkinfit warns if the user chooses the SANN method +test_mkinfit_errors.R:67: skip: mkinfit warns if the user chooses the SANN method  The SANN algorithm takes very long with the default maximum number of iterations of 10000  ──────────────────────────────────────────────────────────────────────────────── +
⠏ |  0       | mkinmod model generation and printing
⠋ |  1       | mkinmod model generation and printing
⠙ |  2       | mkinmod model generation and printing
⠹ |  3       | mkinmod model generation and printing
⠸ |  4       | mkinmod model generation and printing
⠼ |  5       | mkinmod model generation and printing
⠴ |  6       | mkinmod model generation and printing
⠦ |  7       | mkinmod model generation and printing
⠧ |  8       | mkinmod model generation and printing
⠇ |  9       | mkinmod model generation and printing
✔ |  9       | mkinmod model generation and printing [0.2 s]  
⠏ |  0       | Model predictions with mkinpredict
⠋ |  1       | Model predictions with mkinpredict
⠙ |  2       | Model predictions with mkinpredict
⠹ |  3       | Model predictions with mkinpredict
✔ |  3       | Model predictions with mkinpredict [0.3 s]  
⠏ |  0       | Evaluations according to 2015 NAFTA guidance
⠋ |  1       | Evaluations according to 2015 NAFTA guidance
⠙ |  2       | Evaluations according to 2015 NAFTA guidance
⠹ |  3       | Evaluations according to 2015 NAFTA guidance
⠸ |  4       | Evaluations according to 2015 NAFTA guidance
⠼ |  5       | Evaluations according to 2015 NAFTA guidance
⠴ |  6       | Evaluations according to 2015 NAFTA guidance
⠦ |  7       | Evaluations according to 2015 NAFTA guidance
⠧ |  8       | Evaluations according to 2015 NAFTA guidance
⠇ |  9       | Evaluations according to 2015 NAFTA guidance
⠏ |  9   1   | Evaluations according to 2015 NAFTA guidance
⠏ | 10       | Evaluations according to 2015 NAFTA guidance
⠋ | 11       | Evaluations according to 2015 NAFTA guidance
⠙ | 12       | Evaluations according to 2015 NAFTA guidance
⠹ | 13       | Evaluations according to 2015 NAFTA guidance
⠸ | 14       | Evaluations according to 2015 NAFTA guidance
⠼ | 15       | Evaluations according to 2015 NAFTA guidance
⠴ | 16       | Evaluations according to 2015 NAFTA guidance
⠦ | 17       | Evaluations according to 2015 NAFTA guidance
✔ | 17       | Evaluations according to 2015 NAFTA guidance [1.5 s]  
⠏ |  0       | Fitting of parent only models
⠋ |  1       | Fitting of parent only models
⠙ |  2       | Fitting of parent only models
⠹ |  3       | Fitting of parent only models
⠸ |  4       | Fitting of parent only models
⠼ |  5       | Fitting of parent only models
⠴ |  6       | Fitting of parent only models
⠦ |  7       | Fitting of parent only models
⠧ |  8       | Fitting of parent only models
⠇ |  9       | Fitting of parent only models
⠏ | 10       | Fitting of parent only models
⠋ | 11       | Fitting of parent only models
⠙ | 12       | Fitting of parent only models
⠹ | 13       | Fitting of parent only models
⠸ | 14       | Fitting of parent only models
⠼ | 15       | Fitting of parent only models
⠴ | 16       | Fitting of parent only models
⠦ | 17       | Fitting of parent only models
⠧ | 18       | Fitting of parent only models
⠇ | 19       | Fitting of parent only models
⠏ | 20       | Fitting of parent only models
⠋ | 21       | Fitting of parent only models
✔ | 21       | Fitting of parent only models [23.8 s] @@ -28,13 +29,13 @@ The SANN algorithm takes very long with the default maximum number of iterations  
⠏ |  0       | Summary
⠋ |  1       | Summary
✔ |  1       | Summary  
⠏ |  0       | Plotting
⠋ |  1       | Plotting
⠙ |  2       | Plotting
⠹ |  3       | Plotting
⠸ |  4       | Plotting
✔ |  4       | Plotting [0.3 s]  
⠏ |  0       | AIC calculation
⠋ |  1       | AIC calculation
⠙ |  2       | AIC calculation
✔ |  2       | AIC calculation -
⠏ |  0       | Complex test case from Schaefer et al. (2007) Piacenza paper
⠋ |  1       | Complex test case from Schaefer et al. (2007) Piacenza paper
⠙ |  2       | Complex test case from Schaefer et al. (2007) Piacenza paper
✔ |  2       | Complex test case from Schaefer et al. (2007) Piacenza paper [5.8 s] +
⠏ |  0       | Complex test case from Schaefer et al. (2007) Piacenza paper
⠋ |  1       | Complex test case from Schaefer et al. (2007) Piacenza paper
⠙ |  2       | Complex test case from Schaefer et al. (2007) Piacenza paper
✔ |  2       | Complex test case from Schaefer et al. (2007) Piacenza paper [5.9 s]  
⠏ |  0       | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠋ |  1       | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠙ |  2       | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠹ |  3       | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠸ |  4       | Results for synthetic data established in expertise for UBA (Ranke 2014)
✔ |  4       | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.4 s]  ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 74.2 s +Duration: 74.5 s -OK:       97 +OK:       106  Failed:   0  Warnings: 0  Skipped:  3 diff --git a/tests/testthat/SFO_SFO_printed.txt b/tests/testthat/SFO_SFO_printed.txt new file mode 100644 index 00000000..8a188152 --- /dev/null +++ b/tests/testthat/SFO_SFO_printed.txt @@ -0,0 +1,12 @@ +<mkinmod> model generated with +Use of formation fractions $use_of_ff: min  +Specification $spec: +$parent +$type: SFO; $to: m1; $sink: TRUE +$m1 +$type: SFO; $sink: TRUE +Coefficient matrix $coefmat available +Compiled model $cf available +Differential equations: +d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent +d_m1/dt = + k_parent_m1 * parent - k_m1_sink * m1 diff --git a/tests/testthat/test_from_max_mean.R b/tests/testthat/test_from_max_mean.R index 8e5953b9..7529c5f2 100644 --- a/tests/testthat/test_from_max_mean.R +++ b/tests/testthat/test_from_max_mean.R @@ -1,3 +1,21 @@ +# Copyright (C) 2018 Johannes Ranke +# Contact: jranke@uni-bremen.de + +# This file is part of the R package mkin + +# mkin is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. + +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more +# details. + +# You should have received a copy of the GNU General Public License along with +# this program. If not, see <http://www.gnu.org/licenses/> +  context("Test fitting the decline of metabolites from their maximum")  test_that("Fitting from maximum mean value works", { diff --git a/tests/testthat/test_mkinds.R b/tests/testthat/test_mkinds.R index e017301c..1046449b 100644 --- a/tests/testthat/test_mkinds.R +++ b/tests/testthat/test_mkinds.R @@ -1,3 +1,21 @@ +# Copyright (C) 2019 Johannes Ranke +# Contact: jranke@uni-bremen.de + +# This file is part of the R package mkin + +# mkin is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. + +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more +# details. + +# You should have received a copy of the GNU General Public License along with +# this program. If not, see <http://www.gnu.org/licenses/> +  context("Test dataset class mkinds used in gmkin")  test_that("An mkinds object can be created and printed", { diff --git a/tests/testthat/test_mkinfit_errors.R b/tests/testthat/test_mkinfit_errors.R index 50032628..50d528e0 100644 --- a/tests/testthat/test_mkinfit_errors.R +++ b/tests/testthat/test_mkinfit_errors.R @@ -1,5 +1,20 @@ -library(mkin) -library(testthat) +# Copyright (C) 2019 Johannes Ranke +# Contact: jranke@uni-bremen.de + +# This file is part of the R package mkin + +# mkin is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. + +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more +# details. + +# You should have received a copy of the GNU General Public License along with +# this program. If not, see <http://www.gnu.org/licenses/>  context("Special cases of mkinfit calls") diff --git a/tests/testthat/test_mkinmod.R b/tests/testthat/test_mkinmod.R new file mode 100644 index 00000000..430fad61 --- /dev/null +++ b/tests/testthat/test_mkinmod.R @@ -0,0 +1,52 @@ +# Copyright (C) 2019 Johannes Ranke +# Contact: jranke@uni-bremen.de + +# This file is part of the R package mkin + +# mkin is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. + +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more +# details. + +# You should have received a copy of the GNU General Public License along with +# this program. If not, see <http://www.gnu.org/licenses/> + +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", { +  expect_known_output(print(mkinmod(parent = mkinsub("SFO", "m1"),  +                                    m1 = mkinsub("SFO"), +                                    quiet = TRUE)), +                      file = "SFO_SFO_printed.txt") +}) diff --git a/tests/testthat/test_schaefer07_complex_case.R b/tests/testthat/test_schaefer07_complex_case.R index 80306bbe..844dd88f 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,2018 Johannes Ranke
 +# Copyright (C) 2014-2015,2018,2019 Johannes Ranke
  # Contact: jranke@uni-bremen.de
  # This file is part of the R package mkin
 @@ -16,8 +16,6 @@  # You should have received a copy of the GNU General Public License along with
  # this program. If not, see <http://www.gnu.org/licenses/>
 -# This test was migrated from a RUnit test inst/unitTests/runit.mkinfit.R
 -
  context("Complex test case from Schaefer et al. (2007) Piacenza paper")
  test_that("Complex test case from Schaefer (2007) can be reproduced (10% tolerance)", {
 | 
