From ace60ce040fcebd41c7fb44a47f99975166bc2b0 Mon Sep 17 00:00:00 2001 From: Graeme Blair Date: Fri, 18 Oct 2019 19:28:56 -0700 Subject: [PATCH 1/4] error if nrow(simulations_df) is zero --- R/diagnose_design.R | 3 +++ 1 file changed, 3 insertions(+) diff --git a/R/diagnose_design.R b/R/diagnose_design.R index 3ae02dab..4d20f432 100644 --- a/R/diagnose_design.R +++ b/R/diagnose_design.R @@ -85,6 +85,9 @@ diagnose_design <- function(..., if (is_empty(c("estimator_label", "estimand_label") %icn% simulations_df)) { stop("Can't calculate diagnosands on this data.frame, which does not include either an estimator_label or an estimand_label. Did you send a simulations data frame?") } + if (nrow(simulations_df) == 0) { + stop("Can't calculate diagnosands on this data.frame, which has no rows.") + } diagnosands <- diagnosands %||% attr(simulations_df, "diagnosands") %||% default_diagnosands } else { # simulate if needed ------------------------------------------------------ From 3c41c63f5fc292b29479b118b35bc66412558085 Mon Sep 17 00:00:00 2001 From: Graeme Blair Date: Fri, 18 Oct 2019 19:30:59 -0700 Subject: [PATCH 2/4] error text change; add test --- R/diagnose_design.R | 2 +- tests/testthat/test-diagnose-design.R | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/R/diagnose_design.R b/R/diagnose_design.R index 4d20f432..1c58e4b5 100644 --- a/R/diagnose_design.R +++ b/R/diagnose_design.R @@ -86,7 +86,7 @@ diagnose_design <- function(..., stop("Can't calculate diagnosands on this data.frame, which does not include either an estimator_label or an estimand_label. Did you send a simulations data frame?") } if (nrow(simulations_df) == 0) { - stop("Can't calculate diagnosands on this data.frame, which has no rows.") + stop("Can't calculate diagnosands on this data.frame, which has zero rows.") } diagnosands <- diagnosands %||% attr(simulations_df, "diagnosands") %||% default_diagnosands } else { diff --git a/tests/testthat/test-diagnose-design.R b/tests/testthat/test-diagnose-design.R index 18fb2f42..b7d53923 100644 --- a/tests/testthat/test-diagnose-design.R +++ b/tests/testthat/test-diagnose-design.R @@ -299,3 +299,8 @@ test_that("diagnose_design works when simulations_df lacking parameters attr", { expect_identical(d1,d2) }) + + +test_that("diagnose_design stops when a zero-row simulations_df is sent", { + diagnose_design(data.frame(estimator_label = rep(1, 0))) +}) \ No newline at end of file From 79bda7f35db839543ed77e86c99b4c148061b44a Mon Sep 17 00:00:00 2001 From: Graeme Blair Date: Sat, 19 Oct 2019 11:17:14 -0700 Subject: [PATCH 3/4] no rows test --- tests/testthat/test-diagnose-design.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/testthat/test-diagnose-design.R b/tests/testthat/test-diagnose-design.R index b7d53923..a387fa08 100644 --- a/tests/testthat/test-diagnose-design.R +++ b/tests/testthat/test-diagnose-design.R @@ -302,5 +302,5 @@ test_that("diagnose_design works when simulations_df lacking parameters attr", { test_that("diagnose_design stops when a zero-row simulations_df is sent", { - diagnose_design(data.frame(estimator_label = rep(1, 0))) -}) \ No newline at end of file + expect_error(diagnose_design(data.frame(estimator_label = rep(1, 0))), "which has no rows") +}) From bdf3c166eb6f8fe933d9125055b373616b06b89b Mon Sep 17 00:00:00 2001 From: Graeme Blair Date: Sun, 22 Mar 2020 13:36:59 -0700 Subject: [PATCH 4/4] bug fix --- tests/testthat/test-diagnose-design.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test-diagnose-design.R b/tests/testthat/test-diagnose-design.R index a387fa08..5ee226d3 100644 --- a/tests/testthat/test-diagnose-design.R +++ b/tests/testthat/test-diagnose-design.R @@ -302,5 +302,5 @@ test_that("diagnose_design works when simulations_df lacking parameters attr", { test_that("diagnose_design stops when a zero-row simulations_df is sent", { - expect_error(diagnose_design(data.frame(estimator_label = rep(1, 0))), "which has no rows") + expect_error(diagnose_design(data.frame(estimator_label = rep(1, 0))), "which has zero rows") })