tests/testthat/test-class-egarch-spec.R

test_that("base_garch_spec is validated correctly", {
  expect_no_error(
    base_garch_spec(
      orders = c(1, 1),
      long_memo = TRUE,
      cond_dist = "norm"
    )
  )
  expect_no_error(
    base_garch_spec()
  )
  expect_error(
    base_garch_spec(orders = c(0, 1)),
    "@orders must be of length two and both elements must be at least one"
  )
  expect_error(
    base_garch_spec(orders = c(0, 0)),
    "@orders must be of length two and both elements must be at least one"
  )
  expect_error(
    base_garch_spec(orders = c(1, 0)),
    "@orders must be of length two and both elements must be at least one"
  )
  expect_error(
    base_garch_spec(orders = numeric(0)),
    "@orders must be of length two and both elements must be at least one"
  )
  expect_error(
    base_garch_spec(orders = c(1, 1, 1)),
    "@orders must be of length two and both elements must be at least one"
  )
  expect_no_error(
    base_garch_spec(orders = c(2, 2))
  )
  expect_no_error(
    base_garch_spec(orders = c(2, 1))
  )
  expect_no_error(
    base_garch_spec(orders = c(1, 2))
  )
  expect_error(base_garch_spec(orders = c("a", "b")), "invalid object for slot \"orders\" in class \"base_garch_spec\": got class \"character\", should be or extend class \"numeric\"")

  expect_no_error(base_garch_spec(long_memo = TRUE))
  expect_no_error(base_garch_spec(long_memo = FALSE))
  expect_error(base_garch_spec(long_memo = logical(0)), "@long_memo must be of length one")
  expect_error(base_garch_spec(long_memo = c(TRUE, FALSE)), "@long_memo must be of length one")
  expect_error(base_garch_spec(long_memo = "a"), "invalid object for slot \"long_memo\" in class \"base_garch_spec\": got class \"character\", should be or extend class \"logical\"")

  expect_no_error(base_garch_spec(cond_dist = "norm"))
  expect_error(base_garch_spec(cond_dist = c("norm", "std")), "\"cond_dist\" must be kept at default or must be of length 1 and one of the defaults")
  expect_error(base_garch_spec(cond_dist = character(0)), "\"cond_dist\" must be kept at default or must be of length 1 and one of the defaults")
  expect_error(base_garch_spec(cond_dist = "smd"), "\"cond_dist\" must be kept at default or must be of length 1 and one of the defaults")

})

Try the fEGarch package in your browser

Any scripts or data that you put into this service are public.

fEGarch documentation built on Sept. 11, 2025, 5:11 p.m.