test_that("hy_dir returns a path", {
expect_silent(hy_dir())
})
test_that("hy_agency_list returns a dataframe and works", {
expect_s3_class(hy_agency_list(hydat_path = hy_test_db()), "data.frame")
expect_silent(hy_agency_list(hydat_path = hy_test_db()))
})
test_that("hy_reg_office_list returns a dataframe and works", {
expect_s3_class(hy_reg_office_list(hydat_path = hy_test_db()), "data.frame")
expect_silent(hy_reg_office_list(hydat_path = hy_test_db()))
})
test_that("hy_datum_list returns a dataframe and works", {
expect_s3_class(hy_datum_list(hydat_path = hy_test_db()), "data.frame")
expect_silent(hy_datum_list(hydat_path = hy_test_db()))
})
test_that("hy_version returns a dataframe and works", {
expect_s3_class(hy_version(hydat_path = hy_test_db()), "data.frame")
expect_silent(hy_version(hydat_path = hy_test_db()))
})
test_that("downloading hydat fails behind a proxy server with informative error message", {
skip_on_cran()
httr::set_config(httr::use_proxy("64.251.21.73", 8080), override = TRUE)
base_url_cmc <- "http://collaboration.cmc.ec.gc.ca/cmc/hydrometrics/www/"
expect_error(tidyhydat:::network_check(base_url_cmc), message = paste0(
"Error: Could not connect to HYDAT source.",
"Check your connection settings.",
"Try downloading HYDAT_sqlite3 from this url: ",
"[http://collaboration.cmc.ec.gc.ca/cmc/hydrometrics/www/]",
"and unzipping the saved file to this directory: ",
hy_dir()
))
httr::reset_config()
})
test_that("pull_station_number fails when a dataframe doesn't contain a STATION_NUMBER column", {
data(iris)
expect_error(iris %>% pull_station_number())
})
test_that("pull_station_number grabs station number successfully", {
stns <- c("08NM083", "08NE102")
pulled_stns <- hy_annual_stats(stns, hydat_path = hy_test_db()) %>% pull_station_number()
expect_identical(stns, unique(pulled_stns))
})
test_that("pull_station_number returns only unique values", {
many_repeats <- hy_sed_samples(hydat_path = hy_test_db())
expect_length(pull_station_number(many_repeats), 2)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.