Nothing
test_that("owid_get basic functionality works", {
skip_if_offline()
result <- owid_get("life-expectancy")
expect_true(is.data.frame(result))
expect_true("entity_id" %in% names(result))
expect_true(any(grepl("year|date", names(result))))
expect_true(nrow(result) > 0)
})
test_that("owid_get filters entities correctly", {
skip_if_offline()
entities <- c("USA", "DEU")
result <- owid_get("life-expectancy", entities = entities)
expect_true(is.data.frame(result))
expect_true(all(unique(result$entity_id) %in% entities))
})
test_that("owid_get filters dates correctly", {
skip_if_offline()
start_year <- 1960
end_year <- 1965
result <- owid_get(
"life-expectancy",
entities = "USA",
start_date = start_year,
end_date = end_year
)
expect_true(is.data.frame(result))
expect_true(all(result$year >= start_year & result$year <= end_year))
start_date <- "2020-12-28"
end_date <- "2020-12-31"
result <- owid_get(
"daily-covid-vaccination-doses-per-capita",
entities = "DEU",
start_date = start_date,
end_date = end_date
)
expect_true(is.data.frame(result))
expect_true(
all(
as.Date(result$day) >= as.Date(start_date) &
as.Date(result$day) <= as.Date(end_date)
)
)
})
test_that("owid_get handles URLs directly", {
skip_if_offline()
url <- "https://ourworldindata.org/grapher/civil-liberties-score-fh?tab=chart"
result <- owid_get(url = url)
expect_true(is.data.frame(result))
expect_true(nrow(result) > 0)
})
test_that("owid_get handles column name formatting", {
skip_if_offline()
result_uppercase <- owid_get("life-expectancy", snake_case = FALSE)
expect_true(any(grepl("[A-Z]", names(result_uppercase))))
result_lowercase <- owid_get("life-expectancy", snake_case = TRUE)
expect_true(all(grepl("^[a-z]", names(result_lowercase))))
})
test_that("owid_get handles column short names", {
skip_if_offline()
result_short <- owid_get("life-expectancy", use_column_short_names = TRUE)
result_long <- owid_get("life-expectancy", use_column_short_names = FALSE)
expect_true(is.data.frame(result_short))
expect_true(is.data.frame(result_long))
})
test_that("owid_get handles errors appropriately", {
expect_error(owid_get("non-existent-dataset-12345"))
expect_error(owid_get(url = "https://ourworldindata.org/invalid-url"))
})
test_that("convert_day_columns handles lowercase 'day' column", {
test_data <- data.frame(
id = 1:3,
day = c("2023-01-01", "2023-01-02", "2023-01-03"),
value = c(10, 20, 30)
)
result <- convert_day_columns(test_data)
expect_true(inherits(result$day, "Date"))
expect_equal(
as.character(result$day),
c("2023-01-01", "2023-01-02", "2023-01-03")
)
expect_equal(result$id, test_data$id)
expect_equal(result$value, test_data$value)
})
test_that("convert_day_columns handles uppercase 'Day' column", {
test_data <- data.frame(
id = 1:3,
Day = c("2023-01-01", "2023-01-02", "2023-01-03"),
value = c(10, 20, 30)
)
result <- convert_day_columns(test_data)
expect_true(inherits(result$Day, "Date"))
expect_equal(
as.character(result$Day),
c("2023-01-01", "2023-01-02", "2023-01-03")
)
expect_equal(result$id, test_data$id)
expect_equal(result$value, test_data$value)
})
test_that("convert_day_columns handles data without day column", {
test_data <- data.frame(
id = 1:3,
value = c(10, 20, 30)
)
result <- convert_day_columns(test_data)
expect_identical(result, test_data)
})
test_that("convert_day_columns handles different date formats", {
test_data <- data.frame(
id = 1:3,
day = c("2023/01/01", "01/02/2023", "2023-01-03"),
stringsAsFactors = FALSE
)
result <- convert_day_columns(test_data)
expect_true(inherits(result$day, "Date"))
})
test_that("convert_day_columns preserves row order", {
test_data <- data.frame(
id = c(3, 1, 2),
day = c("2023-01-03", "2023-01-01", "2023-01-02"),
value = c(30, 10, 20)
)
result <- convert_day_columns(test_data)
expect_equal(result$value, c(30, 10, 20))
expect_equal(
as.character(result$day),
c("2023-01-03", "2023-01-01", "2023-01-02")
)
})
test_that("convert_day_columns handles empty dataframe", {
test_data <- data.frame(day = character(0))
result <- convert_day_columns(test_data)
expect_true(is.data.frame(result))
expect_true(inherits(result$day, "Date"))
expect_equal(nrow(result), 0)
})
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.