NAME
Sport::Analytics::NHL::Test - Utilities to test NHL reports data.
SYNOPSYS
Utilities to test NHL report data
These are utilities that test and validate the data contained in the NHL reports to detect errors. They are also used to test and validate the permutations that are performed by this software on the data.
Ideally, that method should extend Test::More, but first, I was too lazy to figure out how to do it, and second, I notice that in the huge number of tests that are run, Test::More begins to drag things down.
use Sport::Analytics::NHL::Test;
test_team_id('SJS') # pass
test_team_id('S.J') # fail and die (usually)
The failures are usually bad enough to force the death of the program and an update to Sport::Analytics::NHL::Errors (q.v.), but see the next section
GLOBAL VARIABLES
The behaviour of the tests is controlled by several global variables:
* $TEST_COUNTER - contains the number of the current test in Curr_Test field and the number of passes/fails in Test_Results.
* $DO_NOT_DIE - when set to 1, failed test will not die.
* $MESSAGE - the latest failure message
* $TEST_ERRORS - accumulation of errors by type (event, player, boxscore, team)
FUNCTIONS
my_die
-
Either dies with a stack trace dump, or aggregates the error messages, based on $DO_NOT_DIE Arguments: the death message Returns: void
my_test
-
Executes a test subroutine and sets the failure message in case of failure. Updates test counters. Arguments: the test subroutine and its arguments Returns: void
my_like
-
Approximately the same as Test::More::like()
my_is
-
Approximately the same as Test::More::is()
my_ok
-
Approximately the same as Test::More::ok()
my_is_one_of
-
Approximately the same as grep {$_[0] == $_} $_[1]
test_season
-
For the test_* functions below the second argument is always the notification message. Sometimes third parameter may be passed. This one tests if the season is one between $FIRST_SEASON (from Sports::Analytics::NHL::Config) and $CURRENT_SEASON (from Sports::Analytics::NHL::LocalConfig)
test_stage
-
Tests if the stage is either Regular (2) or Playoff (3)
test_season_id
-
Tests the season Id to be between 1 and 1500 (supposedly maximum number of games per reg. season)
test_game_id
-
Tests the game Id to be of the SSSSTIIII form. In case optional parameter is_nhl, tests for the NHL id SSSSTTIIII
test_team_code
-
Tests if the string is a three-letter team code, not necessarily the normalized one.
test_team_id
-
Tests if the string is a three-letter franchise code, as specified in keys of Sports::Analytics::NHL::Config::TEAMS
test_ts
-
Tests the timestamp to be an integer (negative for pre-1970 games) number.
test_game_date
-
Tests the game date to be in YYYYMMDD format.
is_unapplicable
-
Check if the particular stat is measured in season being processed, stored in $THIS_SEASON
set_tested_stats
-
Set the stats tested for a player
test_assists_and_servedby
-
Tests the correct values in assists and servedby fields
test_boxscore
-
Overall sequence to test the entire boxscore
test_coords
-
Tests the event coordinates
test_decision
-
Tests the decision for the goaltender being one of W,L,O,T
test_event
-
Overall sequence to test the event
test_event_by_type
-
Route the particular event testing according to its type
test_event_coords
-
Checks the applicability of coordinates for the event and tests them
test_event_description
-
Tests the event's description (for existence, actually)
test_event_strength
-
Checks the applicability of strength setting for the event and tests it
test_events
-
Test the boxscore's events (loops over test_event (q.v.))
test_goal
-
Tests the goal event
test_header
-
Tests the header information of the boxscore
test_name
-
Tests the player's name (to have a space between two words, more or less)
test_officials
-
Tests the officials definition in the boxscore
test_penalty
-
Tests the penalty event
test_periods
-
Tests the periods' reports from the boxscore
test_player
-
Tests a player entry in the team's roster
test_player1
-
Tests valid population of the player1 event field
test_player2
-
Tests valid population of the player2 event field
test_player_id
-
Tests the player id to be the valid 7-digit one one starting with 8
test_position
-
Tests the position of the player to be one of C L R F D G
test_strength
-
Tests the event's strength to be one of EV, SH, PP, PS or XX (unknown)
test_team_header
-
Tests "header" information for a team: shots, score, coach etc.
test_teams
-
Tests teams that played in the game
test_time
-
Tests the time to be of format M{1,3}:SS
test_merged_boxscore
-
Tests the boxscore after it was merged with other files (e.g. via Sport::Analytics::NHL::Merger). Test options are set according to the types of reports that have been merged ($boxscore->{sources})
test_merged_events
-
Tests the events of the merged boxscore
test_merged_header
-
Tests the header of the merged boxscore
test_merged_teams
-
Tests the teams of the merged boxscore
my_cmp_ok
-
Approximately the same as Test::More::cmp_ok()
test_arranged_events
-
Tests that the normalized events have been arranged correctly
test_consistency
-
Tests the consistency between the event summary and the boxscore
test_consistency_goalie
-
Tests the consistency between the goaltender data and the event summary
test_consistency_penalty_minutes
-
Tests the consistency between the penalty minutes of the players in the boxscore and in the event summary
test_consistency_playergoals
-
Tests the consistency between the goals scored in the events and the goals in the boxscore teams/players
test_consistency_skater
-
Tests the consistency between the skater data and the event summary
test_normalized_boxscore
-
Full test of the normalized boxscore
test_normalized_events
-
Tests the normalized boxscore events
test_normalized_header
-
Tests the normalized boxscore's header
test_normalized_roster
-
Tests the normalized roster of a team
test_normalized_teams
-
Tests the normalized boxscore's teams
test_bio
-
Tests the player's bio and draft data retrieved from the NHL website
test_career
-
Tests the player's career data retrieved from the NHL website and amended with the preserved errata.
test_player_report
-
Calls test_bio() and test_career() to test the player report from the NHL website. Executes presence, syntactic and sanity value checks.
AUTHOR
More Hockey Stats, <contact at morehockeystats.com>
BUGS
Please report any bugs or feature requests to contact at morehockeystats.com
, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Sport::Analytics::NHL::Test. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Sport::Analytics::NHL::Test
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
https://rt.cpan.org/NoAuth/Bugs.html?Dist=Sport::Analytics::NHL::Test
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN