def test_get_league_data_flag_on(): league_data = sfb.get_league_data("data/test_data_set.csv") avail = df.copy() player_name = "Stephen Curry" player_data = sfb.find_player(player_name, league_data) gp_percentage = player_data["G"].values[0] / avail["G"].max() assert len(player_data.values) == 1 # gets a single player assert player_data["Player"].values[0] == player_name # name is correct assert player_data["Pos"].values[0] == "PG" # position is correct assert player_data["G"].values[0] == 5 # games played is correct assert ( player_data["MP"].values[0] == 27.8 * gp_percentage ) # minutes played is correct assert player_data["FGM"].values[0] == 6.6 * gp_percentage # fgm is correct assert player_data["FGA"].values[0] == 16.4 * gp_percentage # fga is correct assert player_data["FG%"].values[0] == 0.402 # fg% is correct assert player_data["3PT"].values[0] == 2.4 * gp_percentage # 3pt is correct assert player_data["FTM"].values[0] == 5.2 * gp_percentage # ftm is correct assert player_data["FTA"].values[0] == 5.2 * gp_percentage # fta is correct assert player_data["FT%"].values[0] == 1.0 # ft% is correct assert player_data["REB"].values[0] == 5.2 * gp_percentage # reb is correct assert player_data["AST"].values[0] == 6.6 * gp_percentage # ast is correct assert player_data["STL"].values[0] == 1.0 * gp_percentage # stl is correct assert player_data["BLK"].values[0] == 0.4 * gp_percentage # blk is correct assert player_data["TOV"].values[0] == 3.2 * gp_percentage # tov is correct assert player_data["PTS"].values[0] == 20.8 * gp_percentage # pts is correct
def analyze_roster(roster, player_pool): ex = False while ex == False: print("Analysis Menu: ") print("1. Add Player") print("2. Display Roster") print("3. Net Change for Player") print("4. Optimizer Analysis") print("5. Quit") choice = input() if choice == "1": player_name = input("Who would you like to add? ") roster = sfb.draft_player(player_name, roster, player_pool) elif choice == "2": print(roster.to_string()) elif choice == "3": player_name = input( "Who would you like to check if on your team? ") player = sfb.find_player(player_name, player_pool) print("Change to team:") print(change_on_acquisition(roster, player).to_string()) print("Net Change with player:") print(sfn.net_change_on_acquisition(roster, player).to_string()) elif choice == "4": optimizer_analysis2(roster, player_pool) elif choice == "5": ex = True return
def test_draft_player_to_mean_player_roster(): avail = df.copy() mean_player = sfb.mean_player(avail) player_name = "Stephen Curry" new_roster = sfb.draft_player(player_name, mean_player, avail) assert ( len(avail.values) == len(df.values) - 1 ) # size of available players decreases by 1 assert ( sfb.find_player(player_name, avail).empty == True ) # drafted player no longer available assert len(new_roster.values) == 1 # new roster has exactly one player in it assert ( new_roster["Player"].values[0] == player_name ) # that player is the one that was drafted assert ( sfb.find_player("Mr Mean", new_roster).empty == True ) # mean player no longer on roster
def test_draft_player_to_empty_success(): avail = df.copy() empty_roster = pd.DataFrame() player_name = "Stephen Curry" new_roster = sfb.draft_player(player_name, empty_roster, avail) assert ( len(avail.values) == len(df.values) - 1 ) # size of available players decreases by 1 assert ( sfb.find_player(player_name, avail).empty == True ) # drafted player no longer available assert len(new_roster.values) == 1 # new roster has exactly one player in it assert ( new_roster["Player"].values[0] == player_name ) # that player is the one that was drafted
def test_draft_player_to_empty_roster_success(): avail = df.copy() # generate duplicate data empty_roster = pd.DataFrame() # generate empty roster player_name = "Stephen Curry" new_roster = sfb.draft_player(player_name, empty_roster, avail) assert ( len(avail.values) == len(df.values) - 1 ) # available players is one less than before assert ( sfb.find_player("Stephen Curry", avail).empty == True ) # the drafted played isn't in available players anymore assert len(new_roster.values) == 1 # roster has one player assert ( new_roster["Player"].values[0] == "Stephen Curry" ) # that player is the one drafted
def test_draft_player_to_empty_roster_fail_to_find(): avail = df.copy() empty_roster = pd.DataFrame() mean_player = sfb.mean_player(avail) single_player = sfb.find_player("Damian Lillard", avail) player_name = "Steven Curry" assert sfb.draft_player(player_name, empty_roster, avail).equals( empty_roster ) # empty unchanged assert sfb.draft_player(player_name, mean_player, avail).equals( mean_player ) # mean unchanged assert sfb.draft_player(player_name, single_player, avail).equals( single_player ) # single unchanged assert avail.equals(df) # avail unchanged
def test_find_player_success(): avail = df.copy() # generate duplicate data player_name = "Stephen Curry" player_data = sfb.find_player(player_name, avail) assert len(player_data.values) == 1 # gets a single player assert player_data["Player"].values[0] == player_name # name is correct assert player_data["Pos"].values[0] == "PG" # position is correct assert player_data["G"].values[0] == 5 # games played is correct assert player_data["MP"].values[0] == 27.8 # minutes played is correct assert player_data["FGM"].values[0] == 6.6 # fgm is correct assert player_data["FGA"].values[0] == 16.4 # fga is correct assert player_data["FG%"].values[0] == 0.402 # fg% is correct assert player_data["3PT"].values[0] == 2.4 # 3pt is correct assert player_data["FTM"].values[0] == 5.2 # ftm is correct assert player_data["FTA"].values[0] == 5.2 # fta is correct assert player_data["FT%"].values[0] == 1.0 # ft% is correct assert player_data["REB"].values[0] == 5.2 # reb is correct assert player_data["AST"].values[0] == 6.6 # ast is correct assert player_data["STL"].values[0] == 1.0 # stl is correct assert player_data["BLK"].values[0] == 0.4 # blk is correct assert player_data["TOV"].values[0] == 3.2 # tov is correct assert player_data["PTS"].values[0] == 20.8 # pts is correct
def test_find_player_failure(): avail = df.copy() # generate duplicate data player_name = "Steven Curry" player_data = sfb.find_player(player_name, avail) assert player_data.empty == True