Esempio n. 1
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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