test_that("Caching works", {
skip_if_offline(host = "retrosheet.org")
# Delete any previously cached data
unlink("testdata", recursive = TRUE)
# With caching
schedule_1 <- getRetrosheet("schedule", 1995, cache = "testdata")
schedule_1a <- getRetrosheet("schedule", 1995, cache = "testdata/") # Test with trailing slash
roster_1 <- getRetrosheet("roster", 1995, cache = "testdata")
game_1 <- getRetrosheet("game", 2012, cache = "testdata")
play_1 <- getRetrosheet("play", 2012, "SFN", cache = "testdata")
# Without caching
schedule_2 <- getRetrosheet("schedule", 1995)
roster_2 <- getRetrosheet("roster", 1995)
game_2 <- getRetrosheet("game", 2012)
play_2 <- getRetrosheet("play", 2012, "SFN")
expect_equal(schedule_1, schedule_2)
expect_equal(schedule_1, schedule_1a)
expect_equal(roster_1, roster_2)
expect_equal(game_1, game_2)
expect_equal(play_1, play_2)
# Re-using cached data should give a message about using a local cache
expect_message(getRetrosheet("schedule", 1995, cache = "testdata"), "Using local cache: testdata/schedule/1995SKED.zip")
})
test_that("Schedule downloading works", {
skip_if_offline(host = "retrosheet.org")
schedule <- getRetrosheet("schedule", 1995, cache = "testdata")
schedule_splits <- getRetrosheet("schedule", 1995, schedSplit = "TimeOfDay")
# In 1995, there were 28 teams, each team played a 144 game schedule
expect_equal(nrow(schedule), 28 * 144 / 2)
# There were 601 day games, 60 evening games, and 1355 night games
expect_equal(sapply(schedule_splits, nrow), c(D = 601L, E = 60L, N = 1355L))
})
test_that("Roster downloading works", {
skip_if_offline(host = "retrosheet.org")
roster <- getRetrosheet("roster", 1995, cache = "testdata")
# In 1995, there should be 28 regular teams
# The two All Star teams (NLS + ALS) are no longer included in these data
expect_equal(length(roster), 28)
# Toronto has 39 players on their roster
expect_equal(nrow(roster$TOR), 39)
})
test_that("Game downloading works", {
skip_if_offline(host = "retrosheet.org")
game <- getRetrosheet("game", 2012, cache = "testdata")
# Each "game" has 161 different attributes
expect_equal(length(game), 161)
# In 2012, there were 30 teams, each played 162 games (and each game has two teams)
expect_equal(nrow(game), 30 * 162 / 2)
})
test_that("Play downloading works", {
skip_if_offline(host = "retrosheet.org")
play <- getRetrosheet("play", 2012, "SFN", cache = "testdata")
# SFN played 81 games in 2012
expect_equal(length(play), 81)
# In the first game of the year, there were...
expect_equal(nrow(play[[1]]$play), 68) # 68 plays
expect_equal(nrow(play[[1]]$sub), 4) # 4 substitutions
expect_equal(nrow(play[[1]]$start), 2 * 9) # 18 starters
})
# Delete any previously cached data
unlink("testdata", recursive = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.