def test_importer_parseMinuteFixesStoppageTime(excel): log = Log('test.log') importer = ImporterLineups(excel, log) assert importer.parseMinute('46+') == 45 assert importer.parseMinute('91+') == 89 assert importer.parseMinute('106+') == 105 assert importer.parseMinute('122+') == 119
def importLineups(infile): # TODO: Lookup teams in a specified league and year? # TODO: Iterate over team list, with separate Importer for each? # Feedback, setup print('Importing lineups from ' + str(infile)) log = Log('trapp-import-lineups.log') importer = ImporterLineups(infile, log) # Check for required fields requiredColumns = ([ 'Code', 'Date', 'H/A', 'Opponent', 'Score', 'WDL', 'Record', 'Goals', 'Lineup', ]) importer.checkFields(requiredColumns) # Do the import importer.doImport() # Shutdown log.end() return True
def test_importer_parsePlayerSplit(excel): log = Log('test.log') importer = ImporterLineups(excel, log) string = 'Player Name' assert importer.parsePlayerSplit(string) == ['Player Name'] string = 'Player Name (Substitute 63)' assert importer.parsePlayerSplit(string) == ['Player Name', 'Substitute 63'] string = 'Sample Player (First Substitution 50 (Second Substitution 76 (Third Substitution 84 (sent off 88))))' assert importer.parsePlayerSplit(string) == ['Sample Player', 'First Substitution 50', 'Second Substitution 76', 'Third Substitution 84', 'sent off 88']
def test_importer_parsePlayerRemoveTime(excel, lineup): log = Log('test.log') importer = ImporterLineups(excel, log) player = 'Sample Player' player = importer.parsePlayerRemoveTime(player) assert player == 'Sample Player' player = 'Sample Player 56' player = importer.parsePlayerRemoveTime(player) assert player == 'Sample Player'
def test_importer_parseLineupFailsWhenShort(excel, lineup_short): game = 1 team = 1 duration = 90 log = Log('test.log') importer = ImporterLineups(excel, log) assert importer.errored == 0 importer.parseLineup(lineup_short, game, team, duration) assert importer.errored == 1
def test_importer_parseLineup(excel, lineup): game = 1 team = 1 duration = 90 log = Log('test.log') importer = ImporterLineups(excel, log) assert hasattr(importer, 'starters') is False importer.parseLineup(lineup, game, team, duration) assert hasattr(importer, 'starters') is True assert len(importer.starters) == 11
def test_importer_parsePlayer(excel, lineup): # Need to test parsePlayer's ability to deal with strings of player(s) game = 1 team = 1 duration = 90 log = Log('test.log') importer = ImporterLineups(excel, log) player = 'Sample Player' result = importer.parsePlayer(player, game, team, duration) assert len(result) == 1 assert result == [{'PlayerID': 15, 'PlayerName': 'Sample Player', 'TimeOn': 0, 'TimeOff': 90, 'Ejected': False, 'GameID': 1, 'TeamID': 1}] player = "Sample Player (Substitution 50')" result = importer.parsePlayer(player, game, team, duration) assert len(result) == 2 player = 'Sample Player (First Substitution 50 (Second Substitution 76))' result = importer.parsePlayer(player, game, team, duration) assert len(result) == 3 player = 'Sample Player (First Substitution 50 (Second Substitution 76 (Third Substitution 92+)))' result = importer.parsePlayer(player, game, team, duration) assert len(result) == 4 player = 'Sample Player (First Substitution 50 (Second Substitution 76 (Third Substitution 84 (sent off 88))))' result = importer.parsePlayer(player, game, team, duration) assert len(result) == 4 assert result[3]['PlayerName'] == 'Third Substitution' assert result[3]['Ejected'] is True assert result[3]['TimeOn'] == 84 assert result[3]['TimeOff'] == 88
def test_importer_parseMinuteRemovesSingleQuote(excel): log = Log('test.log') importer = ImporterLineups(excel, log) assert importer.parseMinute("64'") == 64
def test_importer_parseMinuteDoesNothing(excel): log = Log('test.log') importer = ImporterLineups(excel, log) assert importer.parseMinute(15) == 15 assert importer.parseMinute(unicode(45)) == 45 assert importer.parseMinute('89') == 89