def setUp(self):
     self.logPoint()
     self.test_player_goalie = PlayerGoalie("Roberto", "Luongo", 190.5, 215,
                                            1, "Apr 4, 1979", 1997, 788, 83,
                                            705, 30, 12, 13, "Goalie")
     self.none_value = None
     self.empty_value = ""
示例#2
0
    def _read_player_from_file(self):
        """ Private method to load the JSON player records from the file at _filepath into the list of players """

        with open(self._filepath) as player_file:
            data = player_file.read()

            if (data== None) or (data == ""):
                return

            players_obj = json.loads(data)

            for key, value in players_obj.items():
                if key.lower() == "forward":
                    for i in value:
                        player = PlayerForward(i['fname'], i['lname'], i['height'], i['weight'], i['jersey_num'], i['date_birth'],
                                               i['year_joined'], i['zone'], i['shooting_hand'], i['goals'], i['assists'], i['total_shots'], i['player_type'])
                        player.set_id(i['id'])
                        self._team_players.append(player)
                elif key.lower() == "goalie":
                    for i in value:
                        player = PlayerGoalie(i['fname'], i['lname'], i['height'], i['weight'], i['jersey_num'], i['date_birth'], i['year_joined'],
                                              i['shots_against'], i['goals_against'], i['goals_saved'], i['games_played'], i['games_won'], i['games_lost'], i['player_type'])
                        player.set_id(i['id'])
                        self._team_players.append(player)
                else:
                    continue

        return
示例#3
0
 def setUp(self):
     self.logPoint()
     self.team = Team()
     self.forward = PlayerForward(47, "Sven", "Baertschi", 180.34, 190, 47, "Oct 5, 1992", "2011", "LW", "L", 8, 5, 40)
     self.goalie = PlayerGoalie(1, "Roberto", "Luongo", 190.5, 215, 1, "Apr 4, 1979", 1997, 788, 83, 705, 30, 12, 13)
     self.undefined_value = None
     self.empty_value = ""
示例#4
0
def update_player(player_id):
    """ Updates player's attributes """
    content = request.json

    try:
        player_type = content["player_type"].lower()

        if player_type == PLAYER_TYPE_FORWARD:
            player = PlayerForward(content["fname"], content["lname"], content["height"], content["weight"], content["jersey_num"], content["date_birth"], content["year_joined"], content["zone"], content["shooting_hand"], content["goals"], content["assists"], content["total_shots"], content["player_type"])
            player.set_id(player_id)
            team.update(player)
            response = app.response_class(
                status=200
            )
        elif player_type == PLAYER_TYPE_GOALIE:
            player = PlayerGoalie(content["fname"], content["lname"], content["height"], content["weight"], content["jersey_num"], content["date_birth"], content["year_joined"], content["shots_against"], content["goals_against"], content["goals_saved"], content["games_played"], content["games_won"], content["games_lost"], content["player_type"])
            player.set_id(player_id)
            team.update(player)
            response = app.response_class(
                status=200
            )
        else:
            raise Exception

    except ValueError as e:
        response = app.response_class(
            status=404,
            response=str(e)
        )

    return response
示例#5
0
    def setUp(self):
        """ Creates test fixture """
        self.logPoint()

        json.load = MagicMock(return_value=TestTeam.TEST_PLAYERS)
        self.team = Team("testplayers.json")

        self.forward = PlayerForward("Sven", "Baertschi", 180.34, 190, 47,
                                     "Oct 5, 1992", "2011", "LW", "L", 8, 5,
                                     40, "forward")
        self.forward_id = id(self.forward)
        (self.forward).set_id(self.forward_id)

        self.goalie = PlayerGoalie("Roberto", "Luongo", 190.5, 215, 1,
                                   "Apr 4, 1979", 1997, 788, 83, 705, 30, 12,
                                   13, "goalie")
        self.goalie_id = id(self.goalie)
        (self.goalie).set_id(self.goalie_id)

        self.undefined_value = None
        self.empty_value = ""
示例#6
0
def add_player():
    """ Adds a player to the team """
    content = request.json

    try:
        player_type = content["player_type"].lower()

        if player_type == PLAYER_TYPE_FORWARD:
            player = PlayerForward(content["fname"], content["lname"], content["height"], content["weight"], content["jersey_num"], content["date_birth"], content["year_joined"], content["zone"], content["shooting_hand"], content["goals"], content["assists"], content["total_shots"], content["player_type"])

            team.add(player)

            id = str(player.get_id())

            response = app.response_class(
                status=200,
                response=id
            )
        elif player_type == PLAYER_TYPE_GOALIE:
            player = PlayerGoalie(content["fname"], content["lname"], content["height"], content["weight"], content["jersey_num"], content["date_birth"], content["year_joined"], content["shots_against"], content["goals_against"], content["goals_saved"], content["games_played"], content["games_won"], content["games_lost"], content["player_type"])

            team.add(player)

            id = str(player.get_id())

            response = app.response_class(
                status=200,
                response=id
            )
        else:
            raise Exception
    except:
        response = app.response_class(
            response="Player is invalid",
            status=400
        )

    return response
class TestPlayerGoalie(TestCase):
    """ Unit tests for PlayerGoalie class """
    def setUp(self):
        self.logPoint()
        self.test_player_goalie = PlayerGoalie("Roberto", "Luongo", 190.5, 215,
                                               1, "Apr 4, 1979", 1997, 788, 83,
                                               705, 30, 12, 13, "Goalie")
        self.none_value = None
        self.empty_value = ""

    def test_player_goalie_valid(self):
        """ 010A: Valid values for constructor """
        self.assertIsNotNone(self.test_player_goalie)

    def test_player_goalie_invalid_undefined(self):
        """ 010B: Invalid values for constructor """
        self.assertRaisesRegex(ValueError, "fname cannot be undefined",
                               PlayerGoalie, self.none_value, "Luongo", 190.5,
                               215, 1, "Apr 4, 1979", 1997, 788, 83, 705, 30,
                               12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "lname cannot be undefined",
                               PlayerGoalie, "Roberto", self.none_value, 190.5,
                               215, 1, "Apr 4, 1979", 1997, 788, 83, 705, 30,
                               12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "height cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo",
                               self.none_value, 215, 1, "Apr 4, 1979", 1997,
                               788, 83, 705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "weight cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5,
                               self.none_value, 1, "Apr 4, 1979", 1997, 788,
                               83, 705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "jersey_num cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               self.none_value, "Apr 4, 1979", 1997, 788, 83,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "date_birth cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, self.none_value, 1997, 788, 83, 705, 30, 12,
                               13, "Goalie")
        self.assertRaisesRegex(ValueError, "year_joined cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", self.none_value, 788, 83, 705,
                               30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "shots_against cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, self.none_value, 83,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "goals_against cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, self.none_value,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "goals_saved cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83,
                               self.none_value, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "games_played cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705,
                               self.none_value, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "games_won cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705, 30,
                               self.none_value, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "games_lost cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705, 30, 12,
                               self.none_value, "Goalie")
        self.assertRaisesRegex(ValueError, "player_type cannot be undefined",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705, 30, 12,
                               13, self.none_value)

    def test_player_goalie_invalid_empty(self):
        """ 010C: Empty values for constructor """
        self.assertRaisesRegex(ValueError, "fname cannot be empty",
                               PlayerGoalie, self.empty_value, "Luongo", 190.5,
                               215, 1, "Apr 4, 1979", 1997, 788, 83, 705, 30,
                               12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "lname cannot be empty",
                               PlayerGoalie, "Roberto", self.empty_value,
                               190.5, 215, 1, "Apr 4, 1979", 1997, 788, 83,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "height cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo",
                               self.empty_value, 215, 1, "Apr 4, 1979", 1997,
                               788, 83, 705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "weight cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5,
                               self.empty_value, 1, "Apr 4, 1979", 1997, 788,
                               83, 705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "jersey_num cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               self.empty_value, "Apr 4, 1979", 1997, 788, 83,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "date_birth cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, self.empty_value, 1997, 788, 83, 705, 30, 12,
                               13, "Goalie")
        self.assertRaisesRegex(ValueError, "year_joined cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", self.empty_value, 788, 83,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "shots_against cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, self.empty_value, 83,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "goals_against cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, self.empty_value,
                               705, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "goals_saved cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83,
                               self.empty_value, 30, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "games_played cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705,
                               self.empty_value, 12, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "games_won cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705, 30,
                               self.empty_value, 13, "Goalie")
        self.assertRaisesRegex(ValueError, "games_lost cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705, 30, 12,
                               self.empty_value, "Goalie")
        self.assertRaisesRegex(ValueError, "player_type cannot be empty",
                               PlayerGoalie, "Roberto", "Luongo", 190.5, 215,
                               1, "Apr 4, 1979", 1997, 788, 83, 705, 30, 12,
                               13, self.empty_value)

    def test_get_shots_against_valid(self):
        """ 020A: Valid return for get_shots_against() """
        self.assertEqual(self.test_player_goalie.get_shots_against(), 788)

    def test_get_goals_against_valid(self):
        """ 030A: Valid return for get_goals_against() """
        self.assertEqual(self.test_player_goalie.get_goals_against(), 83)

    def test_get_goals_saved_valid(self):
        """ 040A: Valid return for get_goals_saved() """
        self.assertEqual(self.test_player_goalie.get_goals_saved(), 705)

    def test_get_games_played(self):
        """ 050A: Valid return for get_games_played() """
        self.assertEqual(self.test_player_goalie.get_games_played(), 30)

    def test_get_games_won(self):
        """ 060A: Valid return for get_games_won() """
        self.assertEqual(self.test_player_goalie.get_games_won(), 12)

    def test_get_games_lost(self):
        """ 070A: Valid return for get_games_lost() """
        self.assertEqual(self.test_player_goalie.get_games_lost(), 13)

    def test_get_win_loss_stats(self):
        """ 080A: Valid return for get_win_loss_stats() """
        self.assertEqual(self.test_player_goalie.get_win_loss_stats(),
                         [12, 13, 30])

    def test_set_win_loss_stats(self):
        """ 090A: Valid modification of values """
        self.test_player_goalie.set_win_loss_stats(13, 15, 33)
        self.assertEqual(self.test_player_goalie.get_win_loss_stats(),
                         [13, 15, 33])

    def test_get_stats(self):
        """ 100A: Valid return of get_stats() """
        self.assertEqual(self.test_player_goalie.get_stats(), [788, 83, 705])

    def test_get_type(self):
        """ 110A: Valid return of get_type() """
        self.assertEqual(self.test_player_goalie.get_type(), "Goalie")

    def test_to_dict_valid(self):
        """ 120A: Valid to_dict() """
        test_dict = self.test_player_goalie.to_dict()

        self.assertEquals(test_dict["fname"], "Roberto",
                          "fname must be Roberto")
        self.assertEquals(test_dict["lname"], "Luongo", "lname must be Luongo")
        self.assertEquals(test_dict["height"], 190.5, "height must be 190.5")
        self.assertEquals(test_dict["weight"], 215, "weight must be 215")
        self.assertEquals(test_dict["jersey_num"], 1, "jersey_num must be 1")
        self.assertEquals(test_dict["date_birth"], "Apr 4, 1979",
                          "date_birth must be Apr 4, 1979")
        self.assertEquals(test_dict["year_joined"], 1997,
                          "year_joined must be 1997")
        self.assertEquals(test_dict["shots_against"], 788,
                          "shots_against must be 788")
        self.assertEquals(test_dict["goals_against"], 83,
                          "goals_against must be 83")
        self.assertEquals(test_dict["goals_saved"], 705,
                          "goals saved must be 705")
        self.assertEquals(test_dict["games_played"], 30,
                          "games_played must be 30")
        self.assertEquals(test_dict["games_won"], 12, "games_won must be 12")
        self.assertEquals(test_dict["games_lost"], 13, "games_lost must be 13")
        self.assertEquals(test_dict["player_type"], "Goalie",
                          "player_type must be Goalie")

    def tearDown(self):
        self.logPoint()

    def logPoint(self):
        currentTest = self.id().split('.')[-1]
        callingFunction = inspect.stack()[1][3]
        print('in %s - %s()' % (currentTest, callingFunction))
示例#8
0
from player_forward import PlayerForward
from player_goalie import PlayerGoalie
from team import Team
import json
import os

player1 = PlayerForward("Sven", "Baertschi", 180.34, 190, 47, "Oct 5, 1992",
                        "2011", "LW", "L", 8, 5, 40, "forward")
player2 = PlayerForward("John", "Doe", 123, 23, 3, "Sept 2, 2534", "1234",
                        "WN", "R", 3, 5, 65, "Forward")
player3 = PlayerGoalie("Bob", "Smith", 321, 100, 4, "Jan 1, 1990", "2000", 123,
                       432, 40, 20, 20, 20, "goalie")

team = Team("./players.json")

#team.add(player1)
#team.add(player2)
#team.add(player3)

#player3_id = player3.get_id()

#print(id((team.get_all_players())[0]))
# team.delete(id(player2))

#player_list = team.get_all_players()
#player1 = player_list[0]
#print(player1.to_dict())

#print(json.dumps((team.get_all_players())["2380120105032"], indent=4))

team.add(player1)
示例#9
0
from team import Team
from player_forward import PlayerForward
from player_goalie import PlayerGoalie

team_a = Team()
forward = PlayerForward(47, "Sven", "Baertschi", 180.34, 190, 47,
                        "Oct 5, 1992", "2011", "LW", "L", 8, 5, 40)
goalie = PlayerGoalie(1, "Roberto", "Luongo", 190.5, 215, 1, "Apr 4, 1979",
                      1997, 788, 83, 705, 30, 12, 13)

forward_update = PlayerForward(47, "QUACK", "Baertschi", 180.34, 190, 47,
                               "Oct 5, 1992", "2011", "LW", "L", 8, 5, 40)

team_a.add(forward)
team_a.add(goalie)

team_a.update(forward_update)

list_players = team_a.get_all_players()

player_1 = list_players[0].get_fname()
player_2 = list_players[1].get_fname()

print(player_1)
print(player_2)
class TestPlayerGoalie(TestCase):
    """ Unit tests for PlayerGoalie class """

    
    def setUp(self):
        self.logPoint()
        self.test_player_goalie = PlayerGoalie(1, "Roberto", "Luongo", 190.5, 215, 1, "Apr 4, 1979", 1997, 788, 83, 705, 30, 12, 13)


    def test_get_shots_against_valid(self):
        """ 010A: Valid return for get_shots_against() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_shots_against(), 788)


    def test_get_goals_against_valid(self):
        """ 020A: Valid return for get_goals_against() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_goals_against(), 83)


    def test_get_goals_saved_valid(self):
        """ 030A: Valid return for get_goals_saved() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_goals_saved(), 705)



    def test_get_games_played(self):
        """ 040A: Valid return for get_games_played() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_games_played(), 30)

    
    def test_get_games_won(self):
        """ 050A: Valid return for get_games_won() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_games_won(), 12)

    
    def test_get_games_lost(self):
        """ 060A: Valid return for get_games_lost() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_games_lost(), 13)


    def test_get_win_loss_stats(self):
        """ 070A: Valid return for get_win_loss_stats() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_win_loss_stats(), [12, 13, 30])
    

    def test_set_win_loss_stats(self):
        """ 080A: Valid modification of values """
        self.logPoint()
        self.test_player_goalie.set_win_loss_stats(13, 15, 33)
        self.assertEqual(self.test_player_goalie.get_win_loss_stats(), [13, 15, 33])


    def test_get_stats(self):
        """ 090A: Valid return of get_stats() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_stats(), [788, 83, 705])


    def test_get_type(self):
        """ 100A: Valid return of get_type() """
        self.logPoint()
        self.assertEqual(self.test_player_goalie.get_type(), "Goalie")


    def tearDown(self):
        self.logPoint()
    

    def logPoint(self):
        currentTest = self.id().split('.')[-1]
        callingFunction = inspect.stack()[1][3]
        print('in %s - %s()' % (currentTest, callingFunction))
        
 def setUp(self):
     self.logPoint()
     self.test_player_goalie = PlayerGoalie(1, "Roberto", "Luongo", 190.5, 215, 1, "Apr 4, 1979", 1997, 788, 83, 705, 30, 12, 13)