def test_get_penalty_team(self):
     self.__set_penalty_consts()
     # Successful
     self.assertEqual(
             get_penalty_team(self.penalty_splits[0][0], '', '', '', ("Romeo"), ('')),
             "home"
             )
     self.assertEqual(
             get_penalty_team(self.penalty_splits[1][0], '', '', 'XMAS', (''), ('')),
             "away"
             )
     self.assertEqual(
             get_penalty_team(self.penalty_splits[2][0], '', '', '', ("Captain Louis Renault"), ("Major Strasser")),
             "away"
             )
     self.assertEqual(
             get_penalty_team(self.penalty_splits[2][1], '', '', '', ("Captain Louis Renault"), ("Major Strasser")),
             "home"
             )
     self.assertEqual(
             get_penalty_team(self.penalty_splits[3][0], '', '', '', ("Darth Vader"), ("Luke Skywalker")),
             "home"
             )
     self.assertEqual(
             get_penalty_team(self.penalty_splits[4][0], "away", '', '', '', ''),
             "away"
             )
     self.assertEqual(
             get_penalty_team(self.penalty_splits[5][0], "home", '', '', '', ''),
             "away"
             )
     self.assertEqual(
             get_penalty_team(self.penalty_splits[7][0], '', 'SF', '', '', ''),
             "home"
             )
Exemple #2
0
 def test_get_penalty_team(self):
     self.__set_penalty_consts()
     # Successful
     self.assertEqual(
         get_penalty_team(self.penalty_splits[0][0], '', '', '', ("Romeo"),
                          ('')), "home")
     self.assertEqual(
         get_penalty_team(self.penalty_splits[1][0], '', '', 'XMAS', (''),
                          ('')), "away")
     self.assertEqual(
         get_penalty_team(self.penalty_splits[2][0], '', '', '',
                          ("Captain Louis Renault"), ("Major Strasser")),
         "away")
     self.assertEqual(
         get_penalty_team(self.penalty_splits[2][1], '', '', '',
                          ("Captain Louis Renault"), ("Major Strasser")),
         "home")
     self.assertEqual(
         get_penalty_team(self.penalty_splits[3][0], '', '', '',
                          ("Darth Vader"), ("Luke Skywalker")), "home")
     self.assertEqual(
         get_penalty_team(self.penalty_splits[4][0], "away", '', '', '',
                          ''), "away")
     self.assertEqual(
         get_penalty_team(self.penalty_splits[5][0], "home", '', '', '',
                          ''), "away")
     self.assertEqual(
         get_penalty_team(self.penalty_splits[7][0], '', 'SF', '', '', ''),
         "home")
Exemple #3
0
    def __set_penalty(self):
        """ Takes the description of a play from self with a penalty in it and
        sets the "penalty" dictionary for the play.

        returns:
            A penalty dictionary with the following fields:
                "penalty": { "type": "Illegal Use of Hands",
                "on": "home", "player": "Terrence Cody", "yards": -5,
                "no play": True }
        """
        penalties = {
                "penalties": []
                }
        #TODO: What do we do when there are multiple penalties?
        # I think we can get the team the penalty was on by looking at the down
        # marker for the previous play and the current play. However, this
        # doesn't work if we have multiple penalties.
        no_play = False
        for pen_string in split_penalties(self.current_play_info["description"]):
            p = {}
            # Set the name of the penalty
            p["name"] = get_penalty_name(pen_string)
            # Set the yardage
            yards = get_penalty_yards(pen_string)
            if yards:
                p["yards"] = yards
            # Set the offending player
            p["offender"] = get_penalty_player(
                    pen_string,
                    self.home,
                    self.away
                    )
            # Set the team
            p["team"] = get_penalty_team(
                    pen_string,
                    self.current_play_info["offense"],
                    self.home,
                    self.away,
                    self.home_players,
                    self.away_players
                    )
            # Get type info
            p_type = get_penalty_type(pen_string)
            if p_type == "declined":
                p["accepted"] = False
            else:
                p["accepted"] = True
                if p_type == "no play":
                    no_play = True

            # Fill in the full dictionary
            penalties["penalties"].append(p)

        penalties["no play"] = no_play

        return penalties