context("Test gen_dates")
d1 <- "2016-01-01"
test_that("gen_dates returns expected data", {
expect_equal(
class(
gen_dates(minDate = "2016-01-01", maxDate = "2016-01-01", dates = NULL)
),
"Date"
)
expect_length(gen_dates(minDate = NULL, maxDate = NULL, dates = d1), 1)
expect_length(
gen_dates(
minDate = NULL,
maxDate = NULL,
dates = c(d1,"2016-03-03", "2015-04-25")
),
3
)
expect_length(
gen_dates(minDate = "2015-01-01", maxDate = "2015-12-31", dates = NULL),
365
)
expect_length(
gen_dates(minDate = d1, maxDate = "2016-12-31", dates = NULL),
366
)
expect_equal(
gen_dates(minDate = d1, maxDate = d1, dates = NULL),
gen_dates(minDate = NULL, maxDate = NULL, dates = d1)
)
expect_equal(
gen_dates(minDate = NULL, maxDate = NULL, dates = d1),
gen_dates(minDate = NULL, maxDate = NULL, dates = as.Date(d1))
)
})
test_that("gen_dates errors properly", {
expect_error(
gen_dates(minDate = "2016-01-01", maxDate = NULL, dates = "2016-01-02"),
"You can enter a date range or a vector of dates, but not both"
)
expect_error(
gen_dates(minDate = NULL, maxDate = "2016-01-01", dates = "2016-01-02"),
"You can enter a date range or a vector of dates, but not both"
)
expect_error(
gen_dates(minDate = "2016-01-01", maxDate = NULL, dates = NULL),
"Both minDate and maxDate must be specified if specifying a date range"
)
expect_error(
gen_dates(minDate = NULL, maxDate = "2016-01-01", dates = NULL),
"Both minDate and maxDate must be specified if specifying a date range"
)
expect_error(
gen_dates(minDate = "01-30-2016", maxDate = "2016-01-02", dates = NULL),
"character string is not in a standard unambiguous format"
)
expect_error(
gen_dates(minDate = "2016-01-01", maxDate = "Jan 12, 2016", dates = NULL),
"character string is not in a standard unambiguous format"
)
expect_error(
gen_dates(minDate = NULL, maxDate = NULL, dates = "12/15/2016"),
"character string is not in a standard unambiguous format"
)
expect_error(
gen_dates(minDate = NULL, maxDate = NULL, dates = NULL),
"You must specify either a date range (minDate and maxDate) or a vector of dates",
fixed = TRUE
)
expect_error(
gen_dates(minDate = "2016-01-10", maxDate = "2016-01-02", dates = NULL),
"Your minimum date must be less than your maximum date"
)
# check that dates that are specified wrong, but can convert to Date return an
# error because they fall outside the range of data available
expect_error(
gen_dates(minDate = "1/1/2016", maxDate = "2016/1/2", dates = NULL),
"Please ensure minDate and maxData are within the available Prism data record"
)
expect_error(
gen_dates(
minDate = NULL,
maxDate = NULL,
dates = c("1/1/2016", "1/2/2016", "2016/1/3")
),
"Please ensure all dates fall within the valid Prism data record"
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.