Running ‘testthat.R’ [64s/86s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(greeks)
  > 
  > test_check("greeks")
  Saving _problems/test-BS_European_Greeks-107.R
  Saving _problems/test-BS_Geometric_Asian_Greeks-81.R
  Saving _problems/test-Implied_Volatility-90.R
  [1] "custom payoff"
  [1] "custom payoff"
  [1] "custom payoff"
  [ FAIL 3 | WARN 0 | SKIP 0 | PASS 17 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-BS_European_Greeks.R:107:3'): BS_European_Greeks is correct ────
  Error in `expect(max(error) < sqrt(epsilon))`: `failure_message` must be a character vector, not absent.
  Backtrace:
      ▆
   1. └─testthat::expect(failure_message = <empty>) at test-BS_European_Greeks.R:107:3
   2.   └─testthat:::check_character(failure_message)
   3.     └─testthat:::stop_input_type(...)
   4.       └─rlang::abort(message, ..., call = call, arg = arg)
  ── Error ('test-BS_Geometric_Asian_Greeks.R:81:3'): BS_Geometric_Asian_Greeks is correct ──
  Error in `expect(max(error) < sqrt(epsilon))`: `failure_message` must be a character vector, not absent.
  Backtrace:
      ▆
   1. └─testthat::expect(failure_message = <empty>) at test-BS_Geometric_Asian_Greeks.R:81:3
   2.   └─testthat:::check_character(failure_message)
   3.     └─testthat:::stop_input_type(...)
   4.       └─rlang::abort(message, ..., call = call, arg = arg)
  ── Error ('test-Implied_Volatility.R:90:3'): implied volatility is correct ─────
  Error in `expect(max(abs(option_price_test - option_price)) < 1e-06)`: `failure_message` must be a character vector, not absent.
  Backtrace:
      ▆
   1. └─testthat::expect(failure_message = <empty>) at test-Implied_Volatility.R:90:3
   2.   └─testthat:::check_character(failure_message)
   3.     └─testthat:::stop_input_type(...)
   4.       └─rlang::abort(message, ..., call = call, arg = arg)
  
  [ FAIL 3 | WARN 0 | SKIP 0 | PASS 17 ]
  Error:
  ! Test failures.
  Execution halted