Last updated on 2022-04-27 12:55:19 CEST.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags | 
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | 1.0.0 | 17.22 | 131.19 | 148.41 | NOTE | |
| r-devel-linux-x86_64-debian-gcc | 1.0.0 | 11.93 | 97.49 | 109.42 | NOTE | |
| r-devel-linux-x86_64-fedora-clang | 1.0.0 | 135.47 | ERROR | |||
| r-devel-linux-x86_64-fedora-gcc | 1.0.0 | 130.20 | ERROR | |||
| r-devel-windows-x86_64 | 1.0.0 | 210.00 | 165.00 | 375.00 | NOTE | |
| r-patched-linux-x86_64 | 1.0.0 | 16.09 | 123.69 | 139.78 | NOTE | |
| r-release-linux-x86_64 | 1.0.0 | 9.88 | 122.58 | 132.46 | NOTE | |
| r-release-macos-arm64 | 1.0.0 | 55.00 | NOTE | |||
| r-release-macos-x86_64 | 1.0.0 | 82.00 | NOTE | |||
| r-release-windows-x86_64 | 1.0.0 | 195.00 | 166.00 | 361.00 | NOTE | |
| r-oldrel-macos-arm64 | 1.0.0 | 58.00 | NOTE | |||
| r-oldrel-macos-x86_64 | 1.0.0 | 93.00 | NOTE | |||
| r-oldrel-windows-ix86+x86_64 | 1.0.0 | 26.00 | 136.00 | 162.00 | NOTE | 
Version: 1.0.0
Check: LazyData
Result: NOTE
      'LazyData' is specified without a 'data' directory
Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-ix86+x86_64
Version: 1.0.0
Check: dependencies in R code
Result: NOTE
    Namespace in Imports field not imported from: ‘shinydashboard’
      All declared Imports should be used.
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-release-macos-arm64, r-release-macos-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64
Version: 1.0.0
Check: examples
Result: ERROR
    Running examples in ‘sstModel-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: portfolio
    > ### Title: Constructing a SST Portfolio
    > ### Aliases: portfolio
    > 
    > ### ** Examples
    > 
    > # Creating a portofolio.
    > asset1 <- asset("equity", "USD", 1000)
    > asset2 <- asset("hedge fund", "EUR", 2000)
    > life1 <- life(name        = c("pandemy", "longetivity", "storno"),
    +               currency    = c("CHF", "CHF", "CHF"),
    +               sensitivity = c(-100, -150, -130))
    > health1 <- health(name        = c("pandemy", "longetivity", "storno"),
    +                   currency    = c("CHF", "CHF", "CHF"),
    +                   sensitivity = c(100, 150, 130))
    > participation1 <- participation("CHF", 1000)
    > # valid portfolio parameters
    >    valid.param <- list(mvm = list(mvm.life = 2, mvm.health = 4, mvm.nonlife = 3),
    +                        rtkr = 0,
    +                        rtkg = 0,
    +                        correction.term = 2,
    +                        credit.risk = 3,
    +                        expected.insurance.result =  10^6,
    +                        expected.financial.result =  10^5)
    > pf <- portfolio(market.items   = list(asset1, asset2),
    +                 participation.item  = participation1,
    +                 life.item       = life1,
    +                 health.item     = health1,
    +                 base.currency  = "CHF",
    +                 portfolio.parameters = valid.param)
    Error in names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||  : 
      'length = 3' in coercion to 'logical(1)'
    Calls: portfolio -> with -> with.default -> eval -> eval
    Execution halted
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
Version: 1.0.0
Check: tests
Result: ERROR
      Running ‘test-sst-example.R’
      Running ‘test-standalone.R’
      Running ‘testthat.R’ [15s/15s]
    Running the tests in ‘tests/test-sst-example.R’ failed.
    Complete output:
      > # this is a complete example on how to simulate the target capital from the
      > # Swiss solvency test with the standalone sstModel package
      > 
      > # load package
      > library(sstModel)
      sstModel 1.0.0 
      
      Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
      
      Swiss Financial Market Supervisory Authority FINMA
      Laupenstrasse 27
      CH-3003 Bern
      
      info@finma.ch
      
      This program comes with ABSOLUTELY NO WARRANTY.
      This is free software, and you are welcome to redistribute it
      under certain conditions. 
      
      Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license. 
      
      Type sstModel_news() to see new features/changes/fixes.
      
      Type sstModel_check() to scan your package library for potential issues.
      > 
      > 
      > # first step: define the market risks
      > 
      > ## define the names of the base risk factors (Risiko Treiber).
      > name <- c("EURCHF", "USDCHF",                        # the fx rate risks
      +           "equityCHF", "equityEUR", "equityUSD",     # the equity risks
      +           "kYCHF", "mYCHF",                          # the interest rate risks
      +           "kYEUR", "mYEUR",
      +           "PC1RateUSD", "PC2RateUSD",                # here we use two PCA components
      +           "AAACHF", "AAAEUR", "AAAUSD")              # the spread risks
      > 
      > ## then we need to define an appropriate correlation matrix
      > corr.mat <- diag(rep(1, 14))
      > colnames(corr.mat) <- name
      > rownames(corr.mat) <- name
      > 
      > ## and the respective volatilities
      > volatility <- rep(0.05, 14)
      > 
      > # create cov mat
      > cov.mat <- diag(volatility, length(volatility), length(volatility)) %*%
      +            corr.mat  %*%  diag(volatility, length(volatility), length(volatility))
      > 
      > colnames(cov.mat) <- rownames(cov.mat) <- colnames(corr.mat)
      > attr(cov.mat, "base.currency") <- "CHF"
      > 
      > ## we should then build the mapping table of market risks
      > mapping.table <- mappingTable(currency(name = "EURCHF",
      +                                        from = "EUR",
      +                                        to   = "CHF"),
      +                               currency(name = "USDCHF",
      +                                        from = "USD",
      +                                        to   = "CHF"),
      + 
      +                               equity(name     = "equityCHF",
      +                                      type     = "equity",
      +                                      currency = "CHF"),
      +                               equity(name     = "equityEUR",
      +                                      type     = "equity",
      +                                      currency = "EUR"),
      +                               equity(name     = "equityEUR",
      +                                      type     = "equity",
      +                                      currency = "USD",
      +                                      scale    = 0.4694625),
      + 
      +                               pcRate(name   = c("PC1RateUSD"),
      +                                      currency = "USD"),
      +                               pcRate(name   = c("PC2RateUSD"),
      +                                      currency = "USD"),
      +                               pcRate(name   = c("PC1RateUSD"),
      +                                      currency = "EUR",
      +                                      scale = 1),
      +                               pcRate(name   = c("PC2RateUSD"),
      +                                      currency = "EUR",
      +                                      scale = 1),
      + 
      +                               rate(name     = "kYCHF",
      +                                    currency = "CHF",
      +                                    horizon  = "k"),
      + 
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "EUR",
      +                                    horizon  = "k",
      +                                    scale    = c(0.1,
      +                                                 0.7)),
      + 
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "USD",
      +                                    horizon  = "k",
      +                                    scale    = c(0.2,
      +                                                 0.5)),
      + 
      +                               rate(name     = "mYCHF",
      +                                    currency = "CHF",
      +                                    horizon  = "m"),
      + 
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "EUR",
      +                                    horizon  = "m",
      +                                    scale    = c(0.05,
      +                                                 0.6)),
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "USD",
      +                                    horizon  = "m",
      +                                    scale    = c(0.1,
      +                                                 0.9)),
      + 
      +                               spread(name     = "AAACHF",
      +                                      currency = "CHF",
      +                                      rating   = "AAA"),
      +                               spread(name     = "AAAEUR",
      +                                      currency = "EUR",
      +                                      rating   = "AAA"),
      +                               spread(name     = "AAAUSD",
      +                                      currency = "USD",
      +                                      rating   = "AAA"))
      > 
      > ## and provide the initial values for the risks factors
      > initial.values <- list()
      > 
      > ## initial fx
      > initial.values$initial.fx <- data.frame(from             = c("EUR", "USD"),
      +                                         to               = c("CHF", "CHF"),
      +                                         fx               = c(1.05,1.02),
      +                                         stringsAsFactors = F)
      > 
      > ## initial rates
      > initial.values$initial.rate <- data.frame(time             = c(2L, 2L, 2L, 10L, 10L, 10L),
      +                                           currency         = c("CHF", "EUR", "USD"),
      +                                           rate             = c(0.01, 0.01, 0.01, 0.03, 0.03, 0.03),
      +                                           stringsAsFactors = F)
      > 
      > 
      > # define the mapped times for rates
      > mapping.time <- data.frame(time = c(2L, 10L), mapping = c("k","m"), stringsAsFactors = F)
      > 
      > ## we are finally in shape to build the full market risk
      > mr <- marketRisk(cov.mat        = cov.mat,
      +                  mapping.table  = mapping.table,
      +                  base.currency  = "CHF",
      +                  initial.values = initial.values,
      +                  mapping.time   = mapping.time)
      > 
      > 
      > # second step: define the health and life risks
      > M <- matrix(c(1, 1, 1, 1), 2)
      > colnames(M) <- c("storno", "invalidity")
      > rownames(M) <- colnames(M)
      > 
      > lr <- lifeRisk(corr.mat  = M,
      +                quantile = c(0.995, 0.995))
      > 
      > hr <- healthRisk(corr.mat  = M)
      > 
      > 
      > 
      > # third step: build the portfolio
      > 
      > list.assets <- list(asset(type = "equity", currency = "CHF", value = 30000000),
      +                     asset(type = "equity", currency = "EUR", value = 20000000),
      +                     asset(type = "equity", currency = "USD", value = 5000000))
      > 
      > list.liabilities <- list(liability(time = 2L, currency = "CHF", value = 400000),
      +                          liability(time = 2L, currency = "EUR", value = 700000),
      +                          liability(time = 2L, currency = "USD", value = 340000),
      +                          liability(time = 10L, currency = "CHF", value = 500000),
      +                          liability(time = 10L, currency = "EUR", value = 100000),
      +                          liability(time = 10L, currency = "USD", value = 240000))
      > 
      > list.asset.forward <- list(assetForward(type = "equity",
      +                                         currency = "CHF",
      +                                         time = 10L,
      +                                         exposure = 10000,
      +                                         price = 45000,
      +                                         position = "long"))
      > 
      > 
      > list.marketItems <- append(append(append(append(list(), list.assets), list.liabilities),list.asset.forward),
      +                            list(delta(name = "EURCHF", currency = "CHF", sensitivity = 1000)))
      > 
      > valid.param <- list(mvm = list(mvm.life = 2, mvm.health = 4, mvm.nonlife = 3),
      +                     rtkr = 0,
      +                     rtkg = 0,
      +                     correction.term = 2,
      +                     credit.risk = 3,
      +                     expected.insurance.result =  10^6,
      +                     expected.financial.result =  10^5)
      > 
      > 
      > p <- portfolio(market.items = list.marketItems,
      +                participation.item = participation(currency = "CHF", value = 3000),
      +                life.item = life(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(100, 2000)),
      +                health.item = health(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(230, 500)),
      +                base.currency = "CHF",
      +                portfolio.parameters = valid.param)
      Error in names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||  : 
        'length = 3' in coercion to 'logical(1)'
      Calls: portfolio -> with -> with.default -> eval -> eval
      Execution halted
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
      > library(testthat)
      > library(sstModel)
      sstModel 1.0.0 
      
      Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
      
      Swiss Financial Market Supervisory Authority FINMA
      Laupenstrasse 27
      CH-3003 Bern
      
      info@finma.ch
      
      This program comes with ABSOLUTELY NO WARRANTY.
      This is free software, and you are welcome to redistribute it
      under certain conditions. 
      
      Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license. 
      
      Type sstModel_news() to see new features/changes/fixes.
      
      Type sstModel_check() to scan your package library for potential issues.
      > 
      > test_check("sstModel")
       asset     
       ---------  
       type:      equity 
       currency:  CHF 
       value:     10 
       
       asset forward 
       ------------- 
       type:      equity 
       currency:  EUR 
       time:      1 
       exposure:  10 
       price:     100 
       position:  long 
       
       cashflow 
       --------- 
       time:      1 
       currency:  CHF 
       rating:    AAA 
       spread:    0.2 
       value:     10 
       
       delta term 
       --------------- 
       name:           2YCHF, EURCHF 
       currency:       CHF, CHF 
       sensitivity:    12, 25 
       
       fx forward 
       -------------- 
       domestic:      CHF 
       foreign:       EUR 
       time:          1 
       nominal:       10 
       rate:          1.1 
       position:      long 
       
       health         
       --------------- 
       name:           Sstorno, invalidity 
       currency:       CHF, EUR 
       sensitivity:    12, 25 
       
       healthRisk 
       ------------------- 
       correlation matrix: 2  x  2 
       
       liability 
       ---------- 
       time:      1 
       currency:  CHF 
       value:     -10 
       
       life           
       --------------- 
       name:           Sstorno, invalidity 
       currency:       CHF, CHF 
       sensitivity:    12, 25 
       
       lifeRisk 
       --------------------- 
       correlation matrix:   2  x  2 
       quantiles of length:  2 
       marketRisk 
       ------------------- 
       covariance matrix:         4  x  4 
       mapping table:             4 risk-factors 
       base currency:             CHF 
       
       nonLifeRisk 
       ------------------- 
       a vector of simulations of length:  5 
       
       nonLifeRisk 
       ------------------- 
       simulations from empirical cumulative distribution function. 
       
       nonLifeRisk 
       ------------------- 
       centered log-normal simulations.  
       
       participation 
       ------------------- 
       a participation with total value:  10 
       
       participationRisk 
       ------------------- 
       volatility:  3 
       
       scenarioRisk 
       ------------- 
       name:         terrorism 
       probability:  0.1 
       currency:     CHF 
       effect:       -100 
        scenarioRisk 
       ------------- 
       name:         market crash 
       probability:  0.2 
       currency:     CHF 
       effect:       -50 
       
      [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
      
      ══ Skipped tests ═══════════════════════════════════════════════════════════════
      • check-market-items.xlsx: isn't available (dev only test) (1)
      • copula.xlsx: isn't available (dev only test) (1)
      • duplicated-mapping.table.xlsx: isn't available (dev only test) (1)
      • errorSheetNames.xlsx: isn't available (dev only test) (1)
      • health.xlsx: isn't available (dev only test) (1)
      • invalidExtension.xyz: isn't available (dev only test) (1)
      • life.xlsx: isn't available (dev only test) (1)
      • macro-economic-scenarios.xlsx: isn't available (dev only test) (1)
      • scenario.xlsx: isn't available (dev only test) (1)
      • withScenarioNoError.xlsx: isn't available (dev only test) (1)
      
      ══ Failed tests ════════════════════════════════════════════════════════════════
      ── Error (test-macroEconomicScenarios.R:124:3): macroEconomicScenarios: compute method is OK ──
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-macroEconomicScenarios.R:124:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:35:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid types"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:35:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:42:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid dimensions"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:42:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:49:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid type"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:49:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:64:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid types"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:64:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-portfolio.R:126:3): constructor of portfolio is ok ──────────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-portfolio.R:126:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-portfolio.R:168:3): portfolio: standard methods are ok ──────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. ├─testthat::expect_equal(...) at test-portfolio.R:168:2
       2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
       3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
       4. ├─base::format(...)
       5. └─sstModel::portfolio(...)
       6.   ├─base::with(...)
       7.   └─base::with.default(...)
       8.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       9.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-portfolio.R:245:3): portfolio: generateExpression and generateFunction are ok ──
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-portfolio.R:245:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-reordering.R:33:3): conditionalReordering is ok ───────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "types"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:33:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Failure (test-reordering.R:58:3): conditionalReordering is ok ───────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "square"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:58:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Failure (test-reordering.R:79:3): conditionalReordering is ok ───────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "dimension"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:79:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Failure (test-reordering.R:104:3): conditionalReordering is ok ──────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "definite"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:104:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Error (test-reordering.R:150:6): conditionalReordering is ok ────────────────
      Error in `!is.character(name) || duplicated(name)`: 'length = 4' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel:::conditionalReordering(...) at test-reordering.R:150:5
      ── Error (test-sstModel.R:84:3): sstModel is ok ────────────────────────────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-sstModel.R:84:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-sstOutput.R:84:3): sstOutput figures are ok ─────────────────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-sstOutput.R:84:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      
      [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
      Error: Test failures
      Execution halted
Flavor: r-devel-linux-x86_64-fedora-clang
Version: 1.0.0
Check: re-building of vignette outputs
Result: ERROR
    Error(s) in re-building vignettes:
    --- re-building ‘packageAPI.Rmd’ using rmarkdown
    Quitting from lines 580-596 (packageAPI.Rmd) 
    Error: processing vignette 'packageAPI.Rmd' failed with diagnostics:
    'length = 3' in coercion to 'logical(1)'
    --- failed re-building ‘packageAPI.Rmd’
    
    SUMMARY: processing the following file failed:
      ‘packageAPI.Rmd’
    
    Error: Vignette re-building failed.
    Execution halted
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
Version: 1.0.0
Check: tests
Result: ERROR
      Running ‘test-sst-example.R’
      Running ‘test-standalone.R’
      Running ‘testthat.R’ [14s/14s]
    Running the tests in ‘tests/test-sst-example.R’ failed.
    Complete output:
      > # this is a complete example on how to simulate the target capital from the
      > # Swiss solvency test with the standalone sstModel package
      > 
      > # load package
      > library(sstModel)
      sstModel 1.0.0 
      
      Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
      
      Swiss Financial Market Supervisory Authority FINMA
      Laupenstrasse 27
      CH-3003 Bern
      
      info@finma.ch
      
      This program comes with ABSOLUTELY NO WARRANTY.
      This is free software, and you are welcome to redistribute it
      under certain conditions. 
      
      Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license. 
      
      Type sstModel_news() to see new features/changes/fixes.
      
      Type sstModel_check() to scan your package library for potential issues.
      > 
      > 
      > # first step: define the market risks
      > 
      > ## define the names of the base risk factors (Risiko Treiber).
      > name <- c("EURCHF", "USDCHF",                        # the fx rate risks
      +           "equityCHF", "equityEUR", "equityUSD",     # the equity risks
      +           "kYCHF", "mYCHF",                          # the interest rate risks
      +           "kYEUR", "mYEUR",
      +           "PC1RateUSD", "PC2RateUSD",                # here we use two PCA components
      +           "AAACHF", "AAAEUR", "AAAUSD")              # the spread risks
      > 
      > ## then we need to define an appropriate correlation matrix
      > corr.mat <- diag(rep(1, 14))
      > colnames(corr.mat) <- name
      > rownames(corr.mat) <- name
      > 
      > ## and the respective volatilities
      > volatility <- rep(0.05, 14)
      > 
      > # create cov mat
      > cov.mat <- diag(volatility, length(volatility), length(volatility)) %*%
      +            corr.mat  %*%  diag(volatility, length(volatility), length(volatility))
      > 
      > colnames(cov.mat) <- rownames(cov.mat) <- colnames(corr.mat)
      > attr(cov.mat, "base.currency") <- "CHF"
      > 
      > ## we should then build the mapping table of market risks
      > mapping.table <- mappingTable(currency(name = "EURCHF",
      +                                        from = "EUR",
      +                                        to   = "CHF"),
      +                               currency(name = "USDCHF",
      +                                        from = "USD",
      +                                        to   = "CHF"),
      + 
      +                               equity(name     = "equityCHF",
      +                                      type     = "equity",
      +                                      currency = "CHF"),
      +                               equity(name     = "equityEUR",
      +                                      type     = "equity",
      +                                      currency = "EUR"),
      +                               equity(name     = "equityEUR",
      +                                      type     = "equity",
      +                                      currency = "USD",
      +                                      scale    = 0.4694625),
      + 
      +                               pcRate(name   = c("PC1RateUSD"),
      +                                      currency = "USD"),
      +                               pcRate(name   = c("PC2RateUSD"),
      +                                      currency = "USD"),
      +                               pcRate(name   = c("PC1RateUSD"),
      +                                      currency = "EUR",
      +                                      scale = 1),
      +                               pcRate(name   = c("PC2RateUSD"),
      +                                      currency = "EUR",
      +                                      scale = 1),
      + 
      +                               rate(name     = "kYCHF",
      +                                    currency = "CHF",
      +                                    horizon  = "k"),
      + 
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "EUR",
      +                                    horizon  = "k",
      +                                    scale    = c(0.1,
      +                                                 0.7)),
      + 
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "USD",
      +                                    horizon  = "k",
      +                                    scale    = c(0.2,
      +                                                 0.5)),
      + 
      +                               rate(name     = "mYCHF",
      +                                    currency = "CHF",
      +                                    horizon  = "m"),
      + 
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "EUR",
      +                                    horizon  = "m",
      +                                    scale    = c(0.05,
      +                                                 0.6)),
      +                               rate(name     = c("PC1RateUSD",
      +                                                 "PC2RateUSD"),
      +                                    currency = "USD",
      +                                    horizon  = "m",
      +                                    scale    = c(0.1,
      +                                                 0.9)),
      + 
      +                               spread(name     = "AAACHF",
      +                                      currency = "CHF",
      +                                      rating   = "AAA"),
      +                               spread(name     = "AAAEUR",
      +                                      currency = "EUR",
      +                                      rating   = "AAA"),
      +                               spread(name     = "AAAUSD",
      +                                      currency = "USD",
      +                                      rating   = "AAA"))
      > 
      > ## and provide the initial values for the risks factors
      > initial.values <- list()
      > 
      > ## initial fx
      > initial.values$initial.fx <- data.frame(from             = c("EUR", "USD"),
      +                                         to               = c("CHF", "CHF"),
      +                                         fx               = c(1.05,1.02),
      +                                         stringsAsFactors = F)
      > 
      > ## initial rates
      > initial.values$initial.rate <- data.frame(time             = c(2L, 2L, 2L, 10L, 10L, 10L),
      +                                           currency         = c("CHF", "EUR", "USD"),
      +                                           rate             = c(0.01, 0.01, 0.01, 0.03, 0.03, 0.03),
      +                                           stringsAsFactors = F)
      > 
      > 
      > # define the mapped times for rates
      > mapping.time <- data.frame(time = c(2L, 10L), mapping = c("k","m"), stringsAsFactors = F)
      > 
      > ## we are finally in shape to build the full market risk
      > mr <- marketRisk(cov.mat        = cov.mat,
      +                  mapping.table  = mapping.table,
      +                  base.currency  = "CHF",
      +                  initial.values = initial.values,
      +                  mapping.time   = mapping.time)
      > 
      > 
      > # second step: define the health and life risks
      > M <- matrix(c(1, 1, 1, 1), 2)
      > colnames(M) <- c("storno", "invalidity")
      > rownames(M) <- colnames(M)
      > 
      > lr <- lifeRisk(corr.mat  = M,
      +                quantile = c(0.995, 0.995))
      > 
      > hr <- healthRisk(corr.mat  = M)
      > 
      > 
      > 
      > # third step: build the portfolio
      > 
      > list.assets <- list(asset(type = "equity", currency = "CHF", value = 30000000),
      +                     asset(type = "equity", currency = "EUR", value = 20000000),
      +                     asset(type = "equity", currency = "USD", value = 5000000))
      > 
      > list.liabilities <- list(liability(time = 2L, currency = "CHF", value = 400000),
      +                          liability(time = 2L, currency = "EUR", value = 700000),
      +                          liability(time = 2L, currency = "USD", value = 340000),
      +                          liability(time = 10L, currency = "CHF", value = 500000),
      +                          liability(time = 10L, currency = "EUR", value = 100000),
      +                          liability(time = 10L, currency = "USD", value = 240000))
      > 
      > list.asset.forward <- list(assetForward(type = "equity",
      +                                         currency = "CHF",
      +                                         time = 10L,
      +                                         exposure = 10000,
      +                                         price = 45000,
      +                                         position = "long"))
      > 
      > 
      > list.marketItems <- append(append(append(append(list(), list.assets), list.liabilities),list.asset.forward),
      +                            list(delta(name = "EURCHF", currency = "CHF", sensitivity = 1000)))
      > 
      > valid.param <- list(mvm = list(mvm.life = 2, mvm.health = 4, mvm.nonlife = 3),
      +                     rtkr = 0,
      +                     rtkg = 0,
      +                     correction.term = 2,
      +                     credit.risk = 3,
      +                     expected.insurance.result =  10^6,
      +                     expected.financial.result =  10^5)
      > 
      > 
      > p <- portfolio(market.items = list.marketItems,
      +                participation.item = participation(currency = "CHF", value = 3000),
      +                life.item = life(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(100, 2000)),
      +                health.item = health(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(230, 500)),
      +                base.currency = "CHF",
      +                portfolio.parameters = valid.param)
      Error in names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||  : 
        'length = 3' in coercion to 'logical(1)'
      Calls: portfolio -> with -> with.default -> eval -> eval
      Execution halted
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
      > library(testthat)
      > library(sstModel)
      sstModel 1.0.0 
      
      Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
      
      Swiss Financial Market Supervisory Authority FINMA
      Laupenstrasse 27
      CH-3003 Bern
      
      info@finma.ch
      
      This program comes with ABSOLUTELY NO WARRANTY.
      This is free software, and you are welcome to redistribute it
      under certain conditions. 
      
      Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license. 
      
      Type sstModel_news() to see new features/changes/fixes.
      
      Type sstModel_check() to scan your package library for potential issues.
      > 
      > test_check("sstModel")
       asset     
       ---------  
       type:      equity 
       currency:  CHF 
       value:     10 
       
       asset forward 
       ------------- 
       type:      equity 
       currency:  EUR 
       time:      1 
       exposure:  10 
       price:     100 
       position:  long 
       
       cashflow 
       --------- 
       time:      1 
       currency:  CHF 
       rating:    AAA 
       spread:    0.2 
       value:     10 
       
       delta term 
       --------------- 
       name:           2YCHF, EURCHF 
       currency:       CHF, CHF 
       sensitivity:    12, 25 
       
       fx forward 
       -------------- 
       domestic:      CHF 
       foreign:       EUR 
       time:          1 
       nominal:       10 
       rate:          1.1 
       position:      long 
       
       health         
       --------------- 
       name:           Sstorno, invalidity 
       currency:       CHF, EUR 
       sensitivity:    12, 25 
       
       healthRisk 
       ------------------- 
       correlation matrix: 2  x  2 
       
       liability 
       ---------- 
       time:      1 
       currency:  CHF 
       value:     -10 
       
       life           
       --------------- 
       name:           Sstorno, invalidity 
       currency:       CHF, CHF 
       sensitivity:    12, 25 
       
       lifeRisk 
       --------------------- 
       correlation matrix:   2  x  2 
       quantiles of length:  2 
       marketRisk 
       ------------------- 
       covariance matrix:         4  x  4 
       mapping table:             4 risk-factors 
       base currency:             CHF 
       
       nonLifeRisk 
       ------------------- 
       a vector of simulations of length:  5 
       
       nonLifeRisk 
       ------------------- 
       simulations from empirical cumulative distribution function. 
       
       nonLifeRisk 
       ------------------- 
       centered log-normal simulations.  
       
       participation 
       ------------------- 
       a participation with total value:  10 
       
       participationRisk 
       ------------------- 
       volatility:  3 
       
       scenarioRisk 
       ------------- 
       name:         terrorism 
       probability:  0.1 
       currency:     CHF 
       effect:       -100 
        scenarioRisk 
       ------------- 
       name:         market crash 
       probability:  0.2 
       currency:     CHF 
       effect:       -50 
       
      [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
      
      ══ Skipped tests ═══════════════════════════════════════════════════════════════
      • check-market-items.xlsx: isn't available (dev only test) (1)
      • copula.xlsx: isn't available (dev only test) (1)
      • duplicated-mapping.table.xlsx: isn't available (dev only test) (1)
      • errorSheetNames.xlsx: isn't available (dev only test) (1)
      • health.xlsx: isn't available (dev only test) (1)
      • invalidExtension.xyz: isn't available (dev only test) (1)
      • life.xlsx: isn't available (dev only test) (1)
      • macro-economic-scenarios.xlsx: isn't available (dev only test) (1)
      • scenario.xlsx: isn't available (dev only test) (1)
      • withScenarioNoError.xlsx: isn't available (dev only test) (1)
      
      ══ Failed tests ════════════════════════════════════════════════════════════════
      ── Error (test-macroEconomicScenarios.R:124:3): macroEconomicScenarios: compute method is OK ──
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-macroEconomicScenarios.R:124:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:35:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid types"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:35:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:42:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid dimensions"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:42:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:49:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid type"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:49:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-portfolio.R:64:3): constructor of portfolio is ok ─────────────
      `portfolio(...)` threw an error with unexpected message.
      Expected match: "Invalid types"
      Actual message: "'length = 3' in coercion to 'logical(1)'"
      Backtrace:
           ▆
        1. ├─testthat::expect_error(...) at test-portfolio.R:64:2
        2. │ └─testthat:::quasi_capture(...)
        3. │   ├─testthat .capture(...)
        4. │   │ └─base::withCallingHandlers(...)
        5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        6. └─sstModel::portfolio(...)
        7.   ├─base::with(...)
        8.   └─base::with.default(...)
        9.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       10.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-portfolio.R:126:3): constructor of portfolio is ok ──────────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-portfolio.R:126:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-portfolio.R:168:3): portfolio: standard methods are ok ──────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. ├─testthat::expect_equal(...) at test-portfolio.R:168:2
       2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
       3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
       4. ├─base::format(...)
       5. └─sstModel::portfolio(...)
       6.   ├─base::with(...)
       7.   └─base::with.default(...)
       8.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       9.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-portfolio.R:245:3): portfolio: generateExpression and generateFunction are ok ──
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-portfolio.R:245:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Failure (test-reordering.R:33:3): conditionalReordering is ok ───────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "types"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:33:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Failure (test-reordering.R:58:3): conditionalReordering is ok ───────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "square"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:58:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Failure (test-reordering.R:79:3): conditionalReordering is ok ───────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "dimension"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:79:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Failure (test-reordering.R:104:3): conditionalReordering is ok ──────────────
      `conditionalReordering(...)` threw an error with unexpected message.
      Expected match: "definite"
      Actual message: "'length = 4' in coercion to 'logical(1)'"
      Backtrace:
          ▆
       1. ├─testthat::expect_error(...) at test-reordering.R:104:2
       2. │ └─testthat:::quasi_capture(...)
       3. │   ├─testthat .capture(...)
       4. │   │ └─base::withCallingHandlers(...)
       5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
       6. └─sstModel:::conditionalReordering(...)
      ── Error (test-reordering.R:150:6): conditionalReordering is ok ────────────────
      Error in `!is.character(name) || duplicated(name)`: 'length = 4' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel:::conditionalReordering(...) at test-reordering.R:150:5
      ── Error (test-sstModel.R:84:3): sstModel is ok ────────────────────────────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-sstModel.R:84:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      ── Error (test-sstOutput.R:84:3): sstOutput figures are ok ─────────────────────
      Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || 
          !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
      Backtrace:
          ▆
       1. └─sstModel::portfolio(...) at test-sstOutput.R:84:2
       2.   ├─base::with(...)
       3.   └─base::with.default(...)
       4.     └─base::eval(substitute(expr), data, enclos = parent.frame())
       5.       └─base::eval(substitute(expr), data, enclos = parent.frame())
      
      [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
      Error: Test failures
      Execution halted
Flavor: r-devel-linux-x86_64-fedora-gcc