Nothing
# Tests for boe_search() and boe_browse() catalogue helpers.
test_that("boe_series catalogue has required columns and shape", {
expect_s3_class(boe_series, "data.frame")
expected_cols <- c("code", "title", "category", "frequency",
"unit", "start_date", "seasonal_adjustment", "helper")
expect_true(all(expected_cols %in% names(boe_series)))
expect_gt(nrow(boe_series), 40L)
expect_true(all(nzchar(boe_series$code)))
expect_true(all(nzchar(boe_series$title)))
})
test_that("boe_search() with no filters returns the full catalogue", {
expect_equal(nrow(boe_search()), nrow(boe_series))
})
test_that("boe_search() filters on a keyword", {
hits <- boe_search("mortgage")
expect_gt(nrow(hits), 0L)
expect_true(all(grepl("mortgage", hits$title, ignore.case = TRUE) |
grepl("mortgage", hits$code, ignore.case = TRUE)))
})
test_that("boe_search() is case-insensitive", {
expect_equal(nrow(boe_search("BANK RATE")),
nrow(boe_search("bank rate")))
})
test_that("boe_search() filters on category", {
fx <- boe_search(category = "exchange_rates")
expect_true(all(fx$category == "exchange_rates"))
expect_gt(nrow(fx), 20L)
})
test_that("boe_search() filters on frequency", {
daily <- boe_search(frequency = "daily")
expect_true(all(daily$frequency == "daily"))
})
test_that("boe_search() composes filters", {
hits <- boe_search("yield", category = "interest_rates", frequency = "daily")
expect_true(all(hits$category == "interest_rates"))
expect_true(all(hits$frequency == "daily"))
})
test_that("boe_search() rejects non-character query", {
expect_error(boe_search(query = 1L), "character")
})
test_that("boe_search() returns zero rows on no match", {
expect_equal(nrow(boe_search("definitely_not_a_real_series_xyz")), 0L)
})
test_that("boe_browse() equals boe_search() with no query", {
expect_equal(boe_browse(), boe_search())
expect_equal(boe_browse(category = "consumer_credit"),
boe_search(category = "consumer_credit"))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.