tests/testthat/test-main.R

test_that("tbats_predictor works correctly on TSLA.Close", {
  data(ts_set)
  preds <- chopper:::tbats_predictor(ts_set$TSLA.Close, h = 3)

  expect_type(preds, "list")
  expect_named(preds, c("t1", "t2", "t3"))
  expect_true(all(sapply(preds, function(x) is.function(x$rfun))))
  expect_true(all(sapply(preds, function(x) is.function(x$dfun))))
})

test_that("arfima_predictor returns numeric forecasts for AMZN.Close", {
  data(ts_set)
  preds <- chopper:::arfima_predictor(ts_set$AMZN.Close, h = 2)
  samples <- preds$t1$rfun(50)

  expect_length(samples, 50)
  expect_type(samples, "double")
  expect_true(all(is.finite(samples)))
})

test_that("theta_predictor returns a valid forecast for IBM.Close", {
  data(ts_set)
  preds <- chopper:::theta_predictor(ts_set$IBM.Close, h = 4)

  expect_length(preds, 4)
  expect_named(preds, paste0("t", 1:4))
  expect_true(all(sapply(preds, function(x) is.function(x$rfun))))
  expect_true(all(sapply(preds, function(x) is.function(x$dfun))))
})

test_that("product_of_experts combines models correctly for META.Close", {
  data(ts_set)
  preds <- chopper:::product_of_experts(ts_set$META.Close, horizon = 3, n_samples = 100)

  expect_type(preds, "list")
  expect_true(all(sapply(preds, function(x) is.function(x$rfun))))
  expect_true(all(sapply(preds, function(x) is.function(x$dfun))))
})

test_that("chopper handles longer horizon on TSLA.Close", {
  data(ts_set)
  result <- chopper(ts_set$TSLA.Close, horizon = 10, n_samples = 100)

  expect_type(result, "list")
  expect_length(result, 3)
  expect_named(result, c("pred_funs", "plot", "time_log"))
})

test_that("chopper works on ts_set using TSLA.Close", {
  data(ts_set)
  ts_data <- ts_set$TSLA.Close
  result <- chopper(ts_data, horizon = 5, n_samples = 100)

  expect_type(result, "list")
  expect_named(result, c('pred_funs', 'plot', 'time_log'))
  expect_true(all(sapply(1:5,function(x) is.function(result$pred_funs[[x]]$rfun))))
})

Try the chopper package in your browser

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

chopper documentation built on June 8, 2025, 11:04 a.m.