-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cd3fbc9
commit 4c029da
Showing
1 changed file
with
141 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,108 +1,146 @@ | ||
using NFLData | ||
using Test | ||
import Base: UUID | ||
import Scratch: scratch_dir | ||
|
||
PKG_UUID = UUID("38e18452-fdda-4cae-b91e-088906595f57") | ||
|
||
@testset "NFLData.jl" begin | ||
# from url test | ||
@test size(from_url("https://github.com/nflverse/nflverse-data/releases/download/players/players",file_type=".parquet"))[1] > 0 | ||
@test size(from_url("https://github.com/nflverse/nflverse-data/releases/download/players/players",file_type=".csv"))[1] > 0 | ||
@test size(from_url("https://github.com/nflverse/nflverse-data/releases/download/players/players",file_type=".csv.gz"))[1] > 0 | ||
# current week test | ||
@test get_current_week() > 0 | ||
@test get_current_week() <= 22 | ||
@test get_current_week(true) > 0 | ||
@test get_current_week(true) <= 22 | ||
# load most recent season test | ||
@test most_recent_season() > 2023 | ||
# load_players tests | ||
@test size(load_players())[1] > 0 | ||
# load_pbp tests | ||
@test size(load_pbp(2023))[1] > 0 | ||
@test size(load_pbp())[1] > 0 | ||
@test size(load_pbp(2022:2023))[1] > 0 | ||
# load contracts tests | ||
@test size(load_contracts())[1] > 0 | ||
# load draft picks tests | ||
@test size(load_draft_picks())[1] > 0 | ||
# load espn qbr tests | ||
@test size(load_espn_qbr("week"))[1] > 0 | ||
@test size(load_espn_qbr("season"))[1] > 0 | ||
# load ff playerids tests | ||
@test size(load_ff_playerids())[1] > 0 | ||
# load ff rankings tests | ||
@test size(load_ff_rankings("draft"))[1] > 0 | ||
@test size(load_ff_rankings("week"))[1] > 0 | ||
@test size(load_ff_rankings("all"))[1] > 0 | ||
# load ff opportunity tests | ||
@test size(load_ff_opportunity(2023))[1] > 0 | ||
@test size(load_ff_opportunity())[1] > 0 | ||
@test size(load_ff_opportunity(2022:2023))[1] > 0 | ||
@test size(load_ff_opportunity(2023, "pbp_pass"))[1] > 0 | ||
@test size(load_ff_opportunity(2023, "pbp_rush"))[1] > 0 | ||
@test size(load_ff_opportunity(2023, "weekly", "v1.0.0"))[1] > 0 | ||
# load ftn tests | ||
@test size(load_ftn_charting(2023))[1] > 0 | ||
@test size(load_ftn_charting())[1] > 0 | ||
@test size(load_ftn_charting(2022:2023))[1] > 0 | ||
# load injuries tests | ||
@test size(load_injuries(2023))[1] > 0 | ||
@test size(load_injuries())[1] > 0 | ||
@test size(load_injuries(2022:2023))[1] > 0 | ||
# load ngexten stats | ||
@test size(load_nextgen_stats())[1] > 0 | ||
@test size(load_nextgen_stats("receiving"))[1] > 0 | ||
@test size(load_nextgen_stats("rushing"))[1] > 0 | ||
# load officials tests | ||
@test size(load_officials())[1] > 0 | ||
# load participation tests | ||
@test size(load_participation(2023))[1] > 0 | ||
@test size(load_participation(2023, true))[1] > 0 | ||
@test size(load_participation(2022:2023, true))[1] > 0 | ||
# load pfr adv stats tests | ||
@test size(load_pfr_advstats(2023))[1] > 0 | ||
@test size(load_pfr_advstats(2022:2023))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"rush"))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"rec"))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"def"))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"pass","season"))[1] > 0 | ||
# load player stats tests | ||
@test size(load_player_stats())[1] > 0 | ||
@test size(load_player_stats("defense"))[1] > 0 | ||
@test size(load_player_stats("kicking"))[1] > 0 | ||
# load rosters tests | ||
@test size(load_rosters(2023))[1] > 0 | ||
@test size(load_rosters())[1] > 0 | ||
@test size(load_rosters(1920))[1] > 0 | ||
@test size(load_rosters(2022:2023))[1] > 0 | ||
# load rosters weekly tests | ||
@test size(load_rosters_weekly(2023))[1] > 0 | ||
@test size(load_rosters_weekly())[1] > 0 | ||
@test size(load_rosters_weekly(2022:2023))[1] > 0 | ||
# load schedules tests | ||
@test size(load_schedules())[1] > 0 | ||
# load snap count tests | ||
@test size(load_snap_counts(2023))[1] > 0 | ||
@test size(load_snap_counts())[1] > 0 | ||
@test size(load_snap_counts(2022:2023))[1] > 0 | ||
# load teams tests | ||
@test size(load_teams())[1] > 0 | ||
# load trades tests | ||
@test size(load_trades())[1] > 0 | ||
# nfl game id tests | ||
@test nflverse_game_id(2022, 2, "LAC", "KC") == "2022_02_LAC_KC" | ||
@test length(nflverse_game_id.(2022, 1:14, "KC", "NE")) == 14 | ||
# clean team abbrs tests | ||
@test clean_team_abbrs("SEA") == "SEA" | ||
@test clean_team_abbrs("FOO") == "FOO" | ||
@test clean_team_abbrs("SD") == "LAC" | ||
@test clean_team_abbrs("SD", current_location = false) == "SD" | ||
@test clean_team_abbrs.(["SD","SEA"]) == ["LAC","SEA"] | ||
@test ismissing(clean_team_abbrs("FOO", keep_non_matches = false)) | ||
# clean player name tests | ||
@test clean_player_names("Tom Brady") == "Tom Brady" | ||
@test clean_player_names.(["Tom Brady","Melvin Gordon Jr."]) == ["Tom Brady","Melvin Gordon"] | ||
@test clean_player_names("Melvin Gordon Jr.") == "Melvin Gordon" | ||
@test clean_player_names("Melvin Gordon Jr.",lowercase = true) == "melvin gordon" | ||
@test clean_player_names("Alexander Armah") == "Alex Armah" | ||
@test clean_player_names("Moritz Böhringer") == "Moritz Bohringer" | ||
@test clean_player_names("Gordon Jr., Melvin", convert_lastfirst = true) == "Melvin Gordon" | ||
@testset "from_url" begin | ||
@test size(from_url("https://github.com/nflverse/nflverse-data/releases/download/players/players",file_type=".parquet"))[1] > 0 | ||
@test size(from_url("https://github.com/nflverse/nflverse-data/releases/download/players/players",file_type=".csv"))[1] > 0 | ||
@test size(from_url("https://github.com/nflverse/nflverse-data/releases/download/players/players",file_type=".csv.gz"))[1] > 0 | ||
end | ||
@testset "current_week" begin | ||
@test get_current_week() > 0 | ||
@test get_current_week() <= 22 | ||
@test get_current_week(true) > 0 | ||
@test get_current_week(true) <= 22 | ||
end | ||
@testset "most_recent_season" begin | ||
@test most_recent_season() > 2023 | ||
end | ||
@testset "load_players" begin | ||
@test size(load_players())[1] > 0 | ||
end | ||
@testset "load_pbp" begin | ||
@test size(load_pbp(2023))[1] > 0 | ||
@test size(load_pbp())[1] > 0 | ||
@test size(load_pbp(2022:2023))[1] > 0 | ||
end | ||
@testset "load_contracts" begin | ||
@test size(load_contracts())[1] > 0 | ||
end | ||
@testset "load_draft_picks" begin | ||
@test size(load_draft_picks())[1] > 0 | ||
end | ||
@testset "load_espn_qbr" begin | ||
@test size(load_espn_qbr("week"))[1] > 0 | ||
@test size(load_espn_qbr("season"))[1] > 0 | ||
end | ||
@testset "load_ff_playerids" begin | ||
@test size(load_ff_playerids())[1] > 0 | ||
end | ||
@testset "load_ff_rankings" begin | ||
@test size(load_ff_rankings("draft"))[1] > 0 | ||
@test size(load_ff_rankings("week"))[1] > 0 | ||
@test size(load_ff_rankings("all"))[1] > 0 | ||
end | ||
@testset "load_ff_opportunity" begin | ||
@test size(load_ff_opportunity(2023))[1] > 0 | ||
@test size(load_ff_opportunity())[1] > 0 | ||
@test size(load_ff_opportunity(2022:2023))[1] > 0 | ||
@test size(load_ff_opportunity(2023, "pbp_pass"))[1] > 0 | ||
@test size(load_ff_opportunity(2023, "pbp_rush"))[1] > 0 | ||
@test size(load_ff_opportunity(2023, "weekly", "v1.0.0"))[1] > 0 | ||
end | ||
@testset "load_ftn_charting" begin | ||
@test size(load_ftn_charting(2023))[1] > 0 | ||
@test size(load_ftn_charting())[1] > 0 | ||
@test size(load_ftn_charting(2022:2023))[1] > 0 | ||
end | ||
@testset "load_injuries" begin | ||
@test size(load_injuries(2023))[1] > 0 | ||
@test size(load_injuries())[1] > 0 | ||
@test size(load_injuries(2022:2023))[1] > 0 | ||
end | ||
@testset "load_nextgen_stats" begin | ||
@test size(load_nextgen_stats())[1] > 0 | ||
@test size(load_nextgen_stats("receiving"))[1] > 0 | ||
@test size(load_nextgen_stats("rushing"))[1] > 0 | ||
end | ||
@testset "load_officials" begin | ||
@test size(load_officials())[1] > 0 | ||
end | ||
@testset "load_participation" begin | ||
@test size(load_participation(2023))[1] > 0 | ||
@test size(load_participation(2023, true))[1] > 0 | ||
@test size(load_participation(2022:2023, true))[1] > 0 | ||
end | ||
@testset "load_pfr_advstats" begin | ||
@test size(load_pfr_advstats(2023))[1] > 0 | ||
@test size(load_pfr_advstats(2022:2023))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"rush"))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"rec"))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"def"))[1] > 0 | ||
@test size(load_pfr_advstats(2023,"pass","season"))[1] > 0 | ||
end | ||
@testset "load_player_stats" begin | ||
@test size(load_player_stats())[1] > 0 | ||
@test size(load_player_stats("defense"))[1] > 0 | ||
@test size(load_player_stats("kicking"))[1] > 0 | ||
end | ||
@testset "load_rosters" begin | ||
@test size(load_rosters(2023))[1] > 0 | ||
@test size(load_rosters())[1] > 0 | ||
@test size(load_rosters(1920))[1] > 0 | ||
@test size(load_rosters(2022:2023))[1] > 0 | ||
end | ||
@testset "load_rosters_weekly" begin | ||
@test size(load_rosters_weekly(2023))[1] > 0 | ||
@test size(load_rosters_weekly())[1] > 0 | ||
@test size(load_rosters_weekly(2022:2023))[1] > 0 | ||
end | ||
@testset "load_schedules" begin | ||
@test size(load_schedules())[1] > 0 | ||
end | ||
@testset "load_snap_counts" begin | ||
@test size(load_snap_counts(2023))[1] > 0 | ||
@test size(load_snap_counts())[1] > 0 | ||
@test size(load_snap_counts(2022:2023))[1] > 0 | ||
end | ||
@testset "load_teams" begin | ||
@test size(load_teams())[1] > 0 | ||
end | ||
@testset "load_trades" begin | ||
@test size(load_trades())[1] > 0 | ||
end | ||
@testset "nflverse_game_id" begin | ||
@test nflverse_game_id(2022, 2, "LAC", "KC") == "2022_02_LAC_KC" | ||
@test length(nflverse_game_id.(2022, 1:14, "KC", "NE")) == 14 | ||
end | ||
@testset "clean_team_abbrs" begin | ||
@test clean_team_abbrs("SEA") == "SEA" | ||
@test clean_team_abbrs("FOO") == "FOO" | ||
@test clean_team_abbrs("SD") == "LAC" | ||
@test clean_team_abbrs("SD", current_location = false) == "SD" | ||
@test clean_team_abbrs.(["SD","SEA"]) == ["LAC","SEA"] | ||
@test ismissing(clean_team_abbrs("FOO", keep_non_matches = false)) | ||
end | ||
@testset "clean_player_names" begin | ||
@test clean_player_names("Tom Brady") == "Tom Brady" | ||
@test clean_player_names.(["Tom Brady","Melvin Gordon Jr."]) == ["Tom Brady","Melvin Gordon"] | ||
@test clean_player_names("Melvin Gordon Jr.") == "Melvin Gordon" | ||
@test clean_player_names("Melvin Gordon Jr.",lowercase = true) == "melvin gordon" | ||
@test clean_player_names("Alexander Armah") == "Alex Armah" | ||
@test clean_player_names("Moritz Böhringer") == "Moritz Bohringer" | ||
@test clean_player_names("Gordon Jr., Melvin", convert_lastfirst = true) == "Melvin Gordon" | ||
end | ||
@testset "clear_cache" begin | ||
load_players(); | ||
path = scratch_dir(string(PKG_UUID), "NFLData_cache/") | ||
@test length(readdir(path)) > 0 | ||
clear_cache(); | ||
@test length(readdir(path)) == 0 | ||
end | ||
end |