Nothing
test_that("request_url() and request_live_url() handle errors gracefully", {
skip_on_cran()
skip_on_ci()
suppressMessages(expect_error(
request_url(url = "http://httpbin.org/status/404"),
"HTTP 404 Not Found."
))
expect_silent(request_url(url = "http://httpbin.org/"))
# expect_silent(request_live_url(url = "http://httpbin.org/"))
})
test_that("check_confdiv() validates group parameter correctly", {
# Test valid groups
expect_silent(check_confdiv(
group = "conf",
value = "Big Ten",
teams = wvb_teams
))
expect_silent(check_confdiv(group = "division", value = 1, teams = wvb_teams))
# Test invalid groups
expect_error(
check_confdiv(),
"Enter valid group: conf or division"
)
expect_error(
check_confdiv(group = NULL),
"Enter valid group: conf or division"
)
expect_error(
check_confdiv(group = "invalid"),
"Enter valid group: division or conf"
)
expect_error(
check_confdiv(group = "conference"),
"Enter valid group: division or conf"
)
expect_error(
check_confdiv(group = "div"),
"Enter valid group: division or conf"
)
expect_error(
check_confdiv(group = c("conf", "division")),
"Enter single value for conf and division"
)
expect_error(
check_confdiv(group = 123),
"Enter valid group: division or conf"
)
})
test_that("check_confdiv() validates conference values correctly", {
# Test valid conferences (using known conferences from data)
valid_conferences <- unique(wvb_teams$conference)[1:3] # Test first 3 conferences
for (conf in valid_conferences) {
if (!is.na(conf) && conf != "") {
expect_silent(check_confdiv(
group = "conf",
value = conf,
teams = wvb_teams
))
}
}
# Test invalid conferences
expect_error(
check_confdiv(group = "conf", value = NULL),
"Enter valid conference"
)
expect_error(
check_confdiv(
group = "conf",
value = "Nonexistent Conference",
teams = wvb_teams
),
"Enter valid conference"
)
expect_error(
check_confdiv(group = "conf", value = "", teams = wvb_teams),
"Enter valid conference"
)
expect_error(
check_confdiv(group = "conf", value = 123, teams = wvb_teams),
"Enter valid conference"
)
expect_error(
check_confdiv(
group = "conf",
value = c("Big Ten", "ACC"),
teams = wvb_teams
),
"Enter single value for conf"
)
})
test_that("check_confdiv() validates division values correctly", {
# Test valid divisions
for (division in 1:3) {
expect_silent(check_confdiv(
group = "division",
value = division,
teams = wvb_teams
))
}
# Test invalid divisions
expect_error(
check_confdiv(group = "division", value = NULL),
"Enter valid division as a number: 1, 2, 3"
)
expect_error(
check_confdiv(group = "division", value = 0),
"Enter valid division as a number: 1, 2, 3"
)
expect_error(
check_confdiv(group = "division", value = 4),
"Enter valid division as a number: 1, 2, 3"
)
expect_error(
check_confdiv(group = "division", value = -1),
"Enter valid division as a number: 1, 2, 3"
)
expect_error(
check_confdiv(group = "division", value = c(1, 2)),
"Enter single value for division"
)
expect_error(
check_confdiv(group = "division", value = 1.5),
"Enter valid division as a number: 1, 2, 3"
)
})
test_that("check_confdiv() validates teams parameter correctly", {
expect_error(
check_confdiv(group = "division", value = 1, teams = NULL),
"Enter valid `teams`"
)
expect_error(
check_confdiv(group = "conf", value = "Big Ten", teams = NULL),
"Enter valid conference"
)
})
test_that("check_contest() validates contest parameter correctly", {
# Test valid contest IDs
expect_silent(check_contest(contest = "123456"))
expect_silent(check_contest(contest = "585290"))
expect_silent(check_contest(contest = "abc123"))
# Test invalid contest IDs
expect_error(check_contest(), "Enter valid contest ID as a character string")
expect_error(
check_contest(contest = NULL),
"Enter valid contest ID as a character string"
)
expect_error(
check_contest(contest = 123456),
"Enter valid contest ID as a character string"
)
expect_error(
check_contest(contest = TRUE),
"Enter valid contest ID as a character string"
)
})
test_that("check_logical() validates parameters correctly", {
# Test valid inputs
expect_silent(check_logical(name = "test", value = TRUE))
expect_silent(check_logical(name = "test", value = FALSE))
expect_silent(check_logical(name = "save", value = TRUE))
expect_silent(check_logical(name = "unique", value = FALSE))
# Test invalid name parameter
expect_error(check_logical(name = NULL, value = TRUE), "Enter valid `name`")
expect_error(check_logical(value = TRUE), "Enter valid `name`")
# Test invalid value parameter
expect_error(
check_logical(),
"Enter valid `name`"
)
expect_error(
check_logical(name = "test", value = NULL),
"Enter valid `test` value"
)
expect_error(check_logical(name = "test"), "Enter valid `test` value")
expect_error(
check_logical(name = "test", value = "TRUE"),
"`test` must be a logical"
)
expect_error(
check_logical(name = "test", value = 1),
"`test` must be a logical"
)
expect_error(
check_logical(name = "save", value = "false"),
"`save` must be a logical"
)
})
test_that("check_match() validates parameters correctly", {
# Test valid inputs
expect_silent(check_match(
name = "level",
value = "season",
vec = c("season", "match", "pbp")
))
expect_silent(check_match(
name = "sport",
value = "WVB",
vec = c("WVB", "MVB")
))
expect_silent(check_match(name = "division", value = 1, vec = 1:3))
# Test invalid name parameter
expect_error(
check_match(),
"Enter valid `name`"
)
expect_error(
check_match(name = NULL),
"Enter valid `name`"
)
# Test invalid value parameter
expect_error(
check_match(name = "level", value = NULL, vec = c("season", "match")),
"Enter valid level"
)
expect_error(
check_match(name = "level", vec = c("season", "match")),
"Enter valid level"
)
# Test invalid vec parameter
expect_error(
check_match(name = "level", value = "season", vec = NULL),
"Enter valid `vec`"
)
expect_error(
check_match(name = "level", value = "season"),
"Enter valid `vec`"
)
# Test value not in vector
expect_error(
check_match(name = "level", value = "invalid", vec = c("season", "match")),
"Enter valid level:"
)
expect_error(
check_match(name = "sport", value = "XYZ", vec = c("WVB", "MVB")),
"Enter valid sport:"
)
expect_error(
check_match(name = "division", value = 4, vec = 1:3),
"Enter valid division:"
)
})
test_that("check_sport() validates sport parameter correctly", {
# Test valid sports with vb_only = TRUE
expect_silent(check_sport("WVB", vb_only = TRUE))
expect_silent(check_sport("MVB", vb_only = TRUE))
# Test invalid sports with vb_only = TRUE
expect_error(check_sport(), "Enter valid `sport`")
expect_error(check_sport("VB", vb_only = TRUE), "Enter valid sport")
expect_error(check_sport("WVBALL", vb_only = TRUE), "Enter valid sport")
expect_error(check_sport("wvb", vb_only = TRUE), "Enter valid sport")
expect_error(check_sport("", vb_only = TRUE), "Enter valid sport")
# Test non-character input
expect_error(
check_sport(123, vb_only = TRUE),
"Enter valid sport as a three-letter character string"
)
expect_error(
check_sport(c("WVB", "MVB"), vb_only = TRUE),
"Enter single value for `sport`"
)
expect_error(
check_sport(TRUE, vb_only = TRUE),
"Enter valid sport as a three-letter character string"
)
})
test_that("check_sport() returns correct team data frames", {
# Test WVB returns wvb_teams
wvb_result <- check_sport("WVB", vb_only = TRUE)
expect_equal(wvb_result, ncaavolleyballr::wvb_teams)
expect_true(is.data.frame(wvb_result))
expect_true("team_name" %in% colnames(wvb_result))
# Test MVB returns mvb_teams
mvb_result <- check_sport("MVB", vb_only = TRUE)
expect_equal(mvb_result, ncaavolleyballr::mvb_teams)
expect_true(is.data.frame(mvb_result))
expect_true("team_name" %in% colnames(mvb_result))
# Verify they are different datasets
expect_false(identical(wvb_result, mvb_result))
})
test_that("check_team_id() validates team ID correctly", {
# Get valid team IDs from the data
valid_wvb_ids <- head(wvb_teams$team_id, 3)
valid_mvb_ids <- head(mvb_teams$team_id, 3)
# Test valid team IDs
for (id in valid_wvb_ids) {
if (!is.na(id)) {
expect_silent(check_team_id(id))
}
}
for (id in valid_mvb_ids) {
if (!is.na(id)) {
expect_silent(check_team_id(id))
}
}
# Test invalid team IDs
expect_error(check_team_id(), "Enter valid team ID as a character string")
expect_error(
check_team_id(team_id = NULL),
"Enter valid team ID as a character string"
)
expect_error(
check_team_id(team_id = 123456),
"Enter valid team ID as a character string"
)
expect_error(check_team_id(team_id = "invalid_id"), "Enter valid team ID")
expect_error(check_team_id(team_id = ""), "Enter valid team ID")
expect_error(
check_team_id(team_id = c("123", "456")),
'Enter valid team ID. "123 and 456" was not found'
)
})
test_that("check_team_name() validates team names correctly", {
# Get valid team names from the data
valid_wvb_names <- head(unique(wvb_teams$team_name), 3)
valid_mvb_names <- head(unique(mvb_teams$team_name), 3)
# Test valid team names
for (name in valid_wvb_names) {
if (!is.na(name) && name != "") {
expect_silent(check_team_name(name, teams = wvb_teams))
}
}
# Test multiple valid team names
if (length(valid_wvb_names) > 1) {
expect_silent(check_team_name(valid_wvb_names[1:2], teams = wvb_teams))
}
# Test invalid team names
expect_error(check_team_name(), "Enter valid team name")
expect_error(check_team_name(team = NULL), "Enter valid team name")
expect_error(
check_team_name(team = "Invalid Team", teams = wvb_teams),
"Enter valid team name"
)
expect_error(
check_team_name(team = "", teams = wvb_teams),
"Enter valid team name"
)
expect_error(
check_team_name(team = 123, teams = wvb_teams),
"Enter valid team name"
)
# Test with invalid teams parameter
expect_error(check_team_name(team = "Nebraska"), "Enter valid team name")
})
test_that("check_year() validates year parameter correctly", {
current_max <- most_recent_season()
# Test valid years
expect_silent(check_year(2020)) # minimum
expect_silent(check_year(current_max)) # maximum
expect_silent(check_year(2021:2023)) # range
expect_silent(check_year(c(2020, 2022, 2024))) # non-consecutive
# Test invalid years
expect_error(
check_year(year = NULL),
paste0("Enter valid year between 2020-", current_max)
)
expect_error(
check_year(year = 2019),
paste0("Enter valid year between 2020-", current_max)
)
expect_error(
check_year(year = current_max + 1),
paste0("Enter valid year between 2020-", current_max)
)
expect_error(
check_year(year = "2024"),
paste0("Enter valid year between 2020-", current_max)
)
expect_error(
check_year(year = c(2019, 2024)),
paste0("Enter valid year between 2020-", current_max)
)
expect_error(
check_year(year = c(2024, current_max + 1)),
paste0("Enter valid year between 2020-", current_max)
)
expect_error(
check_year(),
paste0("Enter valid year between 2020-", current_max)
)
# Test single parameter
expect_silent(check_year(2024, single = FALSE))
expect_silent(check_year(2024, single = TRUE))
expect_error(check_year(c(2023, 2024), single = TRUE), "Enter a single year")
expect_error(check_year(2021:2023, single = TRUE), "Enter a single year")
})
test_that("fix_teams() performs correct substitutions", {
# Test specific team name fixes
expect_equal(fix_teams("Tex. A&M-Commerce"), "East Texas A&M")
expect_equal(fix_teams("Saint Francis (PA)"), "Saint Francis")
expect_equal(fix_teams("1347"), "Saint Rose")
expect_equal(fix_teams("1064"), "Eastern Nazarene")
expect_equal(fix_teams("UAH"), "Alabama Huntsville")
expect_equal(fix_teams("UT Permian Basin"), "Tex. Permian Basin")
# Test that other team names are unchanged
expect_equal(fix_teams("Nebraska"), "Nebraska")
expect_equal(fix_teams("UCLA"), "UCLA")
expect_equal(fix_teams("Random Team Name"), "Random Team Name")
expect_equal(fix_teams(""), "")
# Test with vector of team names
input_teams <- c("Nebraska", "Tex. A&M-Commerce", "UCLA", "UAH")
expected_teams <- c(
"Nebraska",
"East Texas A&M",
"UCLA",
"Alabama Huntsville"
)
expect_equal(fix_teams(input_teams), expected_teams)
})
test_that("get_team_info() works correctly", {
# Get a valid team ID from the data
if (nrow(wvb_teams) > 0) {
valid_id <- wvb_teams$team_id[1]
if (!is.na(valid_id)) {
result <- get_team_info(valid_id)
expect_true(is.data.frame(result))
expect_true("team_id" %in% colnames(result))
expect_true("team_name" %in% colnames(result))
expect_true("conference" %in% colnames(result))
expect_true("div" %in% colnames(result))
expect_true("yr" %in% colnames(result))
expect_true("season" %in% colnames(result))
# Check season format
expect_true(grepl("\\d{4}-\\d{4}", result$season[1]))
# Check that the returned team_id matches input
expect_true(valid_id %in% result$team_id)
}
}
# Test with multiple team IDs
if (nrow(wvb_teams) > 1) {
valid_ids <- wvb_teams$team_id[1:2]
valid_ids <- valid_ids[!is.na(valid_ids)]
if (length(valid_ids) > 0) {
result <- get_team_info(valid_ids)
expect_true(is.data.frame(result))
expect_equal(nrow(result), length(valid_ids))
}
}
})
test_that("html_table_raw() works", {
skip_on_cran()
skip_on_ci()
schedule <- find_team_contests(team_id = "585290")
expect_equal(schedule$date[1], "08/27/2024")
})
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.