コード例 #1
0
def test_masteries_contains_all_champions():
    champions = cassiopeia.get_champions(region="NA")
    summoner = cassiopeia.get_summoner(name=SUMMONER_NAME, region="NA")
    champ_masteries = cassiopeia.get_champion_masteries(summoner=summoner.id, region="NA")
    for cm in champ_masteries:
        assert cm.champion in champions
    for champion in champions:
        assert champion in champ_masteries
コード例 #2
0
def test_masteries_correct_type():
    summoner = cassiopeia.get_summoner(name=SUMMONER_NAME, region="NA")
    champ_masteries = cassiopeia.get_champion_masteries(summoner=summoner.id,
                                                        region="NA")

    assert isinstance(champ_masteries, SearchableList)
    assert all(
        isinstance(cm, cassiopeia.ChampionMastery) for cm in champ_masteries)
コード例 #3
0
def test_masteries_contains_all_champions():
    champions = cassiopeia.get_champions(region="NA")
    summoner = cassiopeia.get_summoner(name=SUMMONER_NAME, region="NA")
    champ_masteries = cassiopeia.get_champion_masteries(summoner=summoner.id,
                                                        region="NA")
    for cm in champ_masteries:
        assert cm.champion in champions
    for champion in champions:
        assert champion in champ_masteries
コード例 #4
0
def test_masteries_correct_type():
    # TODO: Once get_champion_masteries works with passing a name,
    #       replace this with get_champion_masteries(SUMMONER_NAME)
    summoner = cassiopeia.get_summoner(name=SUMMONER_NAME)
    champ_masteries = cassiopeia.get_champion_masteries(summoner.id)

    assert isinstance(champ_masteries, SearchableList)
    assert all(
        isinstance(cm, cassiopeia.ChampionMastery) for cm in champ_masteries)
コード例 #5
0
def test_mastery_returns_correct_data():
    summoner = cassiopeia.get_summoner(name=SUMMONER_NAME)
    masteries = cassiopeia.get_champion_masteries(summoner.id)
    on_champ = masteries[0]

    from_single_call = cassiopeia.get_champion_mastery(SUMMONER_NAME,
                                                       on_champ.champion)

    #assert on_champ._data[cassiopeia.core.championmastery.ChampionMasteryData]._dto == from_single_call._data[cassiopeia.core.championmastery.ChampionMasteryData]._dto
    assert on_champ.points == from_single_call.points
コード例 #6
0
ファイル: scoutahead.py プロジェクト: wardbox/scout-ahead
def get_match_stats(matches, summoner, name_mapping):

    champions_played = {}

    # This call sucks, maybe we can avoid using mastery in the future
    cms = cass.get_champion_masteries(summoner=summoner, region=region)

    for match in matches:

        champion_id = match.participants[summoner].champion.id
        champion_name = name_mapping[champion_id]

        champion_mastery = (
            cms.filter(lambda cm: cm.champion.name == champion_name))[0]
        if champion_mastery.level > 4:

            won = match.participants[summoner].team.win

            if won:
                won = 1
            else:
                won = 0

            if champion_name not in champions_played.keys():
                champions_played[champion_name] = ChampionStat(
                    won=won,
                    mastery_level=champion_mastery.level,
                    mastery_points=champion_mastery.points,
                    win_rate=0)
            else:
                champions_played[champion_name].played += 1
                champions_played[champion_name].won += won

    for champion in champions_played:
        champions_played[champion].win_rate = int(
            (champions_played[champion].won /
             champions_played[champion].played) * 100)

    # Sort by played, mastery points, then win rate
    sorted_champions = sorted(
        champions_played.items(),
        key=lambda x: (x[1].played, x[1].mastery_points, x[1].win_rate),
        reverse=True)

    return sorted_champions
コード例 #7
0
ファイル: test_examples.py プロジェクト: sheridonx/cassiopeia
def test_championmastery():
    me = Summoner(name="Kalturi", id=21359666, region="NA")
    karma = Champion(name="Karma", id=43, region="NA")
    cm = ChampionMastery(champion=karma, summoner=me, region="NA")
    cm = cass.get_champion_mastery(champion=karma, summoner=me, region="NA")
    'Champion ID:', cm.champion.id
    'Mastery points:', cm.points
    'Mastery Level:', cm.level
    'Points until next level:', cm.points_until_next_level

    cms = cass.get_champion_masteries(summoner=me, region="NA")
    cms = me.champion_masteries
    cms[0].points
    cms["Karma"].points  # Does a ton of calls without a cache

    "{} has mastery level 6 or higher on:".format(me.name)
    pro = cms.filter(lambda cm: cm.level >= 6)
    [cm.champion.name for cm in pro]
コード例 #8
0
def test_championmastery():
    me = Summoner(name="Kalturi", region="NA")
    karma = Champion(name="Karma", id=43, region="NA")
    cm = ChampionMastery(champion=karma, summoner=me, region="NA")
    cm = cass.get_champion_mastery(champion=karma, summoner=me, region="NA")
    'Champion ID:', cm.champion.id
    'Mastery points:', cm.points
    'Mastery Level:', cm.level
    'Points until next level:', cm.points_until_next_level

    cms = cass.get_champion_masteries(summoner=me, region="NA")
    cms = me.champion_masteries
    cms[0].points
    cms["Karma"].points  # Does a ton of calls without a cache

    "{} has mastery level 6 or higher on:".format(me.name)
    pro = cms.filter(lambda cm: cm.level >= 6)
    [cm.champion.name for cm in pro]
コード例 #9
0
def print_champion_mastery():
    # Name: Kalturi
    # ID: 21359666
    # Account ID: 34718348

    me = Summoner(name="Kalturi", id=21359666)
    karma = Champion(name="Karma", id=43)
    #cm = ChampionMastery(champion=karma, summoner=me)
    cm = cass.get_champion_mastery(champion=karma, summoner=me)
    print('Champion ID:', cm.champion.id)
    print('Mastery points:', cm.points)
    print('Mastery Level:', cm.level)
    print('Points until next level:', cm.points_until_next_level)

    cms = cass.get_champion_masteries(summoner=me)
    cms = me.champion_masteries
    print(cms[0].points)
    # print(cms["Karma"].points)  # Does a ton of calls without a cache

    print("{} has mastery level 6 or higher on:".format(me.name))
    pro = cms.filter(lambda cm: cm.level >= 6)
    print([cm.champion.name for cm in pro])
コード例 #10
0
def test_masteries_correct_type():
    summoner = cassiopeia.get_summoner(name=SUMMONER_NAME, region="NA")
    champ_masteries = cassiopeia.get_champion_masteries(summoner=summoner.id, region="NA")

    assert isinstance(champ_masteries, SearchableList)
    assert all(isinstance(cm, cassiopeia.ChampionMastery) for cm in champ_masteries)
コード例 #11
0
def test_returns_empty_list_with_unknown_summoner():
    # TODO: Also do this with name, once it's implemented (see above)
    cm = cassiopeia.get_champion_masteries(123901923180391)
    assert cm == []