From a1d279e81d4c8c702bfc860adcb38113dcbca679 Mon Sep 17 00:00:00 2001 From: Rich FitzJohn Date: Tue, 15 Oct 2024 07:45:55 +0100 Subject: [PATCH] Fix error thrown while throwing error --- R/filter-support.R | 2 +- tests/testthat/test-filter.R | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/R/filter-support.R b/R/filter-support.R index fc3635c8..7cb7774f 100644 --- a/R/filter-support.R +++ b/R/filter-support.R @@ -1,5 +1,5 @@ check_generator_for_filter <- function(generator, what, call = NULL) { - check_is_dust_system_generator(generator) + check_is_dust_system_generator(generator, substitute(generator)) if (!generator$properties$has_compare) { cli::cli_abort( paste("Can't create {what}; the '{generator$name}' system does", diff --git a/tests/testthat/test-filter.R b/tests/testthat/test-filter.R index de0ab29c..b649cfa2 100644 --- a/tests/testthat/test-filter.R +++ b/tests/testthat/test-filter.R @@ -649,3 +649,11 @@ test_that("can run continuous-time filter", { "Can't use 'dust_filter_create()' with continuous-time models", fixed = TRUE) }) + + +test_that("sensible error when given unevaluated generator", { + d <- data.frame(time = c(4, 8, 12, 16), incidence = c(1, 2, 3, 4)) + expect_error( + dust_filter_create(sir, 0, d, 200), + "Expected 'generator' to be a 'dust_system_generator' object") +})