Skip to content

Commit

Permalink
Add test to as.fhx preventing output on bad input
Browse files Browse the repository at this point in the history
  • Loading branch information
brews committed Jul 24, 2019
1 parent 6331ddf commit 440241e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
4 changes: 4 additions & 0 deletions R/utils.R
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,10 @@ is.fhx <- function(x) {
#'
#' @export
as.fhx <- function(x) {
if (!all(c("year", "series", "rec_type") %in% names(x))) {
stop("`x` must have members 'year', 'series', and 'rec_type'")
}

yr <- as.numeric(x$year)
series <- as.factor(x$series)
record <- make_rec_type(x$rec_type)
Expand Down
14 changes: 14 additions & 0 deletions tests/testthat/test-utils.R
Original file line number Diff line number Diff line change
Expand Up @@ -199,3 +199,17 @@ test_that("as.fhx works on list input", {
expect_equal(new_fhx$series, factor(series_chr))
expect_equal(new_fhx$rec_type, burnr::make_rec_type(events_chr))
})

test_that("as.fhx throws error when input missing key element", {
yrs <- c(1850, 2010)
series_chr <- c("a", "a")
events_chr <- c("pith_year", "bark_year")

test_df <- list(year = yrs,
serie = series_chr, # bad spelling
rec_type = events_chr)

expect_error(burnr:::as.fhx(test_df),
"`x` must have members 'year', 'series', and 'rec_type'")
})

0 comments on commit 440241e

Please sign in to comment.