Running ‘SEIR.R’ [4s/5s]
  Running ‘SIR.R’ [5s/7s]
  Running ‘SISe.R’ [3s/5s]
  Running ‘SISe3.R’ [2s/3s]
  Running ‘SISe3_sp.R’ [2s/3s]
  Running ‘SISe_sp.R’ [2s/3s]
  Running ‘SimInf.R’ [2s/4s]
  Running ‘SimInf_events.R’ [3s/5s]
  Running ‘SimInf_model.R’ [2s/4s]
  Running ‘ldata_sp.R’ [2s/3s]
  Running ‘measures.R’ [2s/3s]
  Running ‘mparse.R’ [2s/4s]
  Running ‘package_skeleton.R’ [2s/3s]
  Running ‘phi.R’ [2s/3s]
  Running ‘prevalence.R’ [2s/3s]
  Running ‘punchcard.R’ [2s/4s]
  Running ‘run_outer.R’ [2s/4s]
  Running ‘sample_select.R’ [2s/3s]
  Running ‘solver_aem.R’ [2s/3s]
Running the tests in ‘tests/SISe3.R’ failed.
Complete output:
  > ## SimInf, a framework for stochastic disease spread simulations
  > ## Copyright (C) 2015  Pavol Bauer
  > ## Copyright (C) 2015 - 2018  Stefan Engblom
  > ## Copyright (C) 2015 - 2018  Stefan Widgren
  > ##
  > ## This program 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 <https://www.gnu.org/licenses/>.
  > 
  > library("SimInf")
  > 
  > ## For debugging
  > sessionInfo()
  R Under development (unstable) (2019-06-23 r76735)
  Platform: x86_64-pc-linux-gnu (64-bit)
  Running under: Debian GNU/Linux 10 (buster)
  
  Matrix products: default
  BLAS:   /home/hornik/tmp/R.check/r-devel-gcc/Work/build/lib/libRblas.so
  LAPACK: /home/hornik/tmp/R.check/r-devel-gcc/Work/build/lib/libRlapack.so
  
  locale:
   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
   [9] LC_ADDRESS=C               LC_TELEPHONE=C            
  [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
  
  attached base packages:
  [1] stats     graphics  grDevices utils     datasets  methods   base     
  
  other attached packages:
  [1] SimInf_6.3.0
  
  loaded via a namespace (and not attached):
  [1] compiler_3.7.0  Matrix_1.2-17   grid_3.7.0      lattice_0.20-38
  > 
  > ## Check invalid u0
  > res <- tools::assertError(SISe3(u0 = "u0"))
  > stopifnot(length(grep("Missing columns in u0",
  +                       res[[1]]$message)) > 0)
  > 
  > u0 <- structure(list(S_1 = c(0, 1, 2, 3, 4, 5),
  +                      I_1 = c(0, 0, 0, 0, 0, 0),
  +                      S_2 = c(0, 1, 2, 3, 4, 5),
  +                      I_2 = c(0, 0, 0, 0, 0, 0),
  +                      S_3 = c(0, 1, 2, 3, 4, 5),
  +                      I_3 = c(0, 0, 0, 0, 0, 0)),
  +                 .Names = c("S_1", "I_1", "S_2", "I_2", "S_3", "I_3"),
  +                 row.names = c(NA, -6L), class = "data.frame")
  > 
  > ## Check missing columns in u0
  > res <- tools::assertError(
  +     SISe3(u0 = u0[, c("I_1", "S_2", "I_2", "S_3", "I_3")]))
  > stopifnot(length(grep("Missing columns in u0",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(
  +     SISe3(u0 = u0[, c("S_1", "S_2", "I_2", "S_3", "I_3")]))
  > stopifnot(length(grep("Missing columns in u0",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(
  +     SISe3(u0 = u0[, c("S_1", "I_1", "I_2", "S_3", "I_3")]))
  > stopifnot(length(grep("Missing columns in u0",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(
  +     SISe3(u0 = u0[, c("S_1", "I_1", "S_2", "S_3", "I_3")]))
  > stopifnot(length(grep("Missing columns in u0",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(
  +     SISe3(u0 = u0[, c("S_1", "I_1", "S_2", "I_2", "I_3")]))
  > stopifnot(length(grep("Missing columns in u0",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(
  +     SISe3(u0 = u0[, c("S_1", "I_1", "S_2", "I_2", "S_3")]))
  > stopifnot(length(grep("Missing columns in u0",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check default phi
  > res <- SISe3(u0        = u0,
  +              tspan     = seq_len(10) - 1,
  +              events    = NULL,
  +              upsilon_1 = 0.0357,
  +              upsilon_2 = 0.0357,
  +              upsilon_3 = 0.00935,
  +              gamma_1   = 0.1,
  +              gamma_2   = 0.1,
  +              gamma_3   = 0.1,
  +              alpha     = 1.0,
  +              beta_t1   = 0.19,
  +              beta_t2   = 0.085,
  +              beta_t3   = 0.075,
  +              beta_t4   = 0.185,
  +              end_t1    = 91,
  +              end_t2    = 182,
  +              end_t3    = 273,
  +              end_t4    = 365,
  +              epsilon   = 0.000011)
  > stopifnot(identical(res@v0,
  +                     structure(c(0, 0, 0, 0, 0, 0),
  +                               .Dim = c(1L, 6L),
  +                               .Dimnames = list("phi", NULL))))
  > 
  > ## Check missing upsilon_1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_1' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing upsilon_2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_2' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing upsilon_3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_3' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing gamma_1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_1' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing gamma_2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_2' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing gamma_3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_3' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing alpha
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'alpha' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing beta_t1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t1' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing beta_t2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t2' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing beta_t3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t3' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing beta_t4
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t4' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing end_t1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t1' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing end_t2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t2' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing end_t3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t3' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing end_t4
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t4' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check missing epsilon
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365))
  > stopifnot(length(grep("'epsilon' is missing",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric upsilon_1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = "0.0357",
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_1' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric upsilon_2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = "0.0357",
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_2' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric upsilon_3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = "0.00935",
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_3' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric gamma_1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = "0.1",
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_1' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric gamma_2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = "0.1",
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_2' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric gamma_3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = "0.1",
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_3' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric alpha
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = "1.0",
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'alpha' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric beta_t1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = "0.19",
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t1' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric beta_t2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = "0.085",
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t2' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric beta_t3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = "0.075",
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t3' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric beta_t4
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = "0.185",
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t4' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-integer end_t1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = "91",
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t1' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91.5,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t1' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-integer end_t2
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = "182",
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t2' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182.5,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t2' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-integer end_t3
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = "273",
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t3' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273.5,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t3' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-integer end_t4
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = "365",
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t4' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365.5,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t4' must be integer",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check non-numeric epsilon
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = "0.000011"))
  > stopifnot(length(grep("'epsilon' must be numeric",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of upsilon_1 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = c(0.0357, 0.0357),
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_1' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of upsilon_2 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = c(0.0357, 0.0357),
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_2' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of upsilon_3 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = c(0.00935, 0.00935),
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'upsilon_3' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of gamma_1 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = c(0.1, 0.1),
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_1' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of gamma_2 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = c(0.1, 0.1),
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_2' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of gamma_3 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = c(0.1, 0.1),
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'gamma_3' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of alpha equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = c(1.0, 1.0),
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'alpha' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of beta_t1 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = c(0.19, 0.19),
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t1' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of beta_t2 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = c(0.085, 0.085),
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t2' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of beta_t3 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = c(0.075, 0.075),
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t3' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of beta_t4 equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = c(0.185, 0.185),
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'beta_t4' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check that length of epsilon equals 1
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = c(0.000011, 0.000011)))
  > stopifnot(length(grep("'epsilon' must be of length 1",
  +                       res[[1]]$message)) > 0)
  > 
  > ## Check interval endpoints
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = -1,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t1' must be greater than or equal to '0'",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 18,
  +                                 end_t3    = 273,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t1' must be less than 'end_t2'",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 173,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t2' must be less than 'end_t3'",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 365,
  +                                 end_t4    = 365,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t3' must be less than '364'",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = -1,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t4' must be greater than or equal to '0'",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 91,
  +                                 end_t2    = 182,
  +                                 end_t3    = 273,
  +                                 end_t4    = 366,
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep("'end_t4' must be less than or equal to '365'",
  +                       res[[1]]$message)) > 0)
  > 
  > res <- tools::assertError(SISe3(u0        = u0,
  +                                 tspan     = seq_len(10) - 1,
  +                                 events    = NULL,
  +                                 phi       = rep(1, 6),
  +                                 upsilon_1 = 0.0357,
  +                                 upsilon_2 = 0.0357,
  +                                 upsilon_3 = 0.00935,
  +                                 gamma_1   = 0.1,
  +                                 gamma_2   = 0.1,
  +                                 gamma_3   = 0.1,
  +                                 alpha     = 1.0,
  +                                 beta_t1   = 0.19,
  +                                 beta_t2   = 0.085,
  +                                 beta_t3   = 0.075,
  +                                 beta_t4   = 0.185,
  +                                 end_t1    = 4:9,
  +                                 end_t2    = 5:10,
  +                                 end_t3    = c(8:12, 16),
  +                                 end_t4    = c(2, 11:15),
  +                                 epsilon   = 0.000011))
  > stopifnot(length(grep(
  +     "'end_t4' must be less than 'end_t1' or greater than 'end_t3'",
  +     res[[1]]$message)) > 0)
  > 
  > ## Check extraction of data from 'suscpetible', and 'infected'
  > ## compartments
  > model <- SISe3(u0        = u0,
  +                tspan     = seq_len(10) - 1,
  +                events    = NULL,
  +                phi       = rep(0, 6),
  +                upsilon_1 = 0.0357,
  +                upsilon_2 = 0.0357,
  +                upsilon_3 = 0.00935,
  +                gamma_1   = 0.1,
  +                gamma_2   = 0.1,
  +                gamma_3   = 0.1,
  +                alpha     = 1.0,
  +                beta_t1   = 0.19,
  +                beta_t2   = 0.085,
  +                beta_t3   = 0.075,
  +                beta_t4   = 0.185,
  +                end_t1    = 91,
  +                end_t2    = 182,
  +                end_t3    = 273,
  +                end_t4    = 365,
  +                epsilon   = 0.000011)
  > 
  > result <- run(model, threads = 1)
  > 
  > S_expected <- structure(c(0L, 1L, 2L, 3L, 4L, 5L, 0L, 1L, 2L, 3L, 4L, 5L, 0L,
  +                           1L, 2L, 3L, 4L, 5L, 0L, 1L, 2L, 3L, 4L, 5L, 0L, 1L,
  +                           2L, 3L, 4L, 5L, 0L, 1L, 2L, 3L, 4L, 5L, 0L, 1L, 2L,
  +                           3L, 4L, 5L, 0L, 1L, 2L, 3L, 4L, 5L, 0L, 1L, 2L, 3L,
  +                           4L, 5L, 0L, 1L, 2L, 3L, 4L, 5L),
  +                         .Dim = c(6L, 10L),
  +                         .Dimnames = list(c("S_1", "S_1", "S_1", "S_1", "S_1", "S_1"),
  +                                          c("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")))
  > S_observed <- trajectory(result, compartments = "S_1", as.is = TRUE)
  > stopifnot(identical(S_observed, S_expected))
  Error: identical(S_observed, S_expected) is not TRUE
  Execution halted