def test_003_species_not_equals(self): s1 = pokemon.Species(1, 'bulbasaur') s2 = pokemon.Species(2, 'ivysaur') assert s1 != s2 assert [s1] != [s2] assert s1 not in [s2] assert s2 not in [s1]
def test_002_species_equals(self): s1 = pokemon.Species(1, 'bulbasaur') s2 = pokemon.Species(1, 'bulbasaur') assert s1 == s2 assert [s1] == [s2] assert s1 in [s2] assert s2 in [s1]
def test_011_team_from_dict(self): mock_pokeapi_calls() s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p) data = t.to_dict() assert pokemon.Team.from_dict(data, [p]) == t
def test_009_team_set_position_accepts_ints(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team') t.set_position(1, p) assert t.get_position(1) == p self.assertRaises(ValueError, t.set_position, -1, p)
def test_013_species_damage_relation_immunities(self): permutations = [(pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.NORMAL_DAMAGE_FROM), (pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.HALF_DAMAGE_FROM), (pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.DOUBLE_DAMAGE_FROM), (pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM), (pokemon.DamageRelation.NORMAL_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM), (pokemon.DamageRelation.HALF_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM), (pokemon.DamageRelation.DOUBLE_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM)] t1 = pokemon.Type(1, 'normal') t2 = pokemon.Type(2, 'flying') s = pokemon.Species(1, 'bulbasaur', types=[t1, t2]) for damage_relations in permutations: t1.reset_damage_relations() t1.set_damage_relation(damage_relations[0], t1) t2.reset_damage_relations() t2.set_damage_relation(damage_relations[1], t1) assert t1 not in s.vulnerabilities() assert not s.is_vulnerable_to(t1) assert t1 not in s.resistances() assert not s.is_resistant_to(t1) assert t1 in s.immunities() assert s.is_immune_to(t1)
def test_011_species_damage_relation_dual_type_no_damage(self): permutations = [(pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.NORMAL_DAMAGE_FROM), (pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.HALF_DAMAGE_FROM), (pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.DOUBLE_DAMAGE_FROM), (pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM), (pokemon.DamageRelation.NORMAL_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM), (pokemon.DamageRelation.HALF_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM), (pokemon.DamageRelation.DOUBLE_DAMAGE_FROM, pokemon.DamageRelation.NO_DAMAGE_FROM)] t1 = pokemon.Type(1, 'normal') t2 = pokemon.Type(2, 'flying') s = pokemon.Species(1, 'bulbasaur', types=[t1, t2]) for damage_relations in permutations: t1.reset_damage_relations() t1.set_damage_relation(damage_relations[0], t1) t2.reset_damage_relations() t2.set_damage_relation(damage_relations[1], t1) assert s.damage_relation_from_type( t1) == pokemon.DamageRelation.NO_DAMAGE_FROM
def test_005_roster_add_pokemon(self): s = pokemon.Species(1, 'bulbasaur') p1 = pokemon.Pokemon(1, s) p2 = pokemon.Pokemon(2, s) t = pokemon.Team(1, 'basic team', first=p1) r = pokemon.Roster(pokemon=[p1], teams=[t], active_team_id=1) r.add_pokemon(p2) assert r.get_pokemon(2) == p2
def test_002_roster_add_team(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t1 = pokemon.Team(1, 'basic team', first=p) t2 = pokemon.Team(2, 'another team', first=p) r = pokemon.Roster(pokemon=[p], teams=[t1], active_team_id=1) r.add_team(t2) assert r.get_team(2) == t2
def test_007_species_damage_relation_dual_type_quarter_damage(self): t1 = pokemon.Type(1, 'normal') t1.set_damage_relation(pokemon.DamageRelation.HALF_DAMAGE_FROM, t1) t2 = pokemon.Type(2, 'flying') t2.set_damage_relation(pokemon.DamageRelation.HALF_DAMAGE_FROM, t1) s = pokemon.Species(1, 'bulbasaur', types=[t1, t2]) assert s.damage_relation_from_type( t1) == pokemon.DamageRelation.QUARTER_DAMAGE_FROM
def test_004_roster_remove_team_resets_active_team_id(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t1 = pokemon.Team(1, 'basic team', first=p) t2 = pokemon.Team(2, 'another team', first=p) r = pokemon.Roster(pokemon=[p], teams=[t1, t2], active_team_id=2) r.remove_team(t2) assert r.active_team() is None self.assertRaises(KeyError, r.get_team, 2)
def test_006_roster_remove_pokemon(self): s = pokemon.Species(1, 'bulbasaur') p1 = pokemon.Pokemon(1, s) p2 = pokemon.Pokemon(2, s) t = pokemon.Team(1, 'basic team', first=p1, second=p2) r = pokemon.Roster(pokemon=[p1, p2], teams=[t], active_team_id=1) r.remove_pokemon(p2) self.assertRaises(KeyError, r.get_pokemon, 2) assert t.get_position(2) is None
def test_004_species_damage_relation_single_type(self): for damage_relation in [ pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.HALF_DAMAGE_FROM, pokemon.DamageRelation.NORMAL_DAMAGE_FROM, pokemon.DamageRelation.DOUBLE_DAMAGE_FROM ]: t = pokemon.Type(1, damage_relation.name) t.set_damage_relation(damage_relation, t) s = pokemon.Species(1, 'bulbasaur', types=[t]) assert s.damage_relation_from_type(t) == damage_relation
def test_012_team_to_string(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p) assert 'basic team' in str(t) assert '1: bulbasaur' in str(t) assert '2: Empty' in str(t) assert '3: Empty' in str(t) assert '4: Empty' in str(t) assert '5: Empty' in str(t) assert '6: Empty' in str(t)
def test_013_team_from_dict_with_pokemon_list(self): mock_pokeapi_calls() s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p) data = t.to_dict() reloaded = pokemon.Team.from_dict(data, [p]) reloaded.get_position(1).id = 2 assert reloaded.get_position(1) is p assert reloaded.get_position(1).id == 2 assert p.id == 2
def test_001_roster_active_team(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t1 = pokemon.Team(1, 'basic team', first=p) t2 = pokemon.Team(2, 'another team', first=p) r = pokemon.Roster(pokemon=[p], teams=[t1, t2], active_team_id=1) assert r.active_team() == t1 r.set_active_team(2) assert r.active_team() == t2 r.set_active_team(None) assert r.active_team() is None
def test_007_roster_to_dict(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t1 = pokemon.Team(1, 'basic team', first=p) r = pokemon.Roster(pokemon=[p], teams=[t1], active_team_id=1) expected = { 'pokemon': [p.to_dict()], 'teams': [t1.to_dict()], 'active_team': 1 } assert r.to_dict() == expected
def test_003_team_full(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p, second=p, third=p, fourth=p, fifth=p, sixth=p) assert t.is_full()
def test_009_roster_from_dict(self): mock_pokeapi_calls() s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t1 = pokemon.Team(1, 'basic team', first=p) t2 = pokemon.Team(2, 'another team', first=p) r = pokemon.Roster(pokemon=[p], teams=[t1, t2], active_team_id=2) reloaded = pokemon.Roster.from_dict(r.to_dict()) p_reloaded = reloaded.get_pokemon(1) assert r == reloaded assert reloaded.teams[1].get_position(1) is p_reloaded assert reloaded.teams[2].get_position(1) is p_reloaded
def test_004_pokemon_to_dict(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) d = p.to_dict() expected = { 'id': 1, 'species': 1, 'nick_name': None, 'pokerus': False, 'item': None, 'evs': pokemon.StatSet().to_dict(), 'stats': pokemon.StatSet().to_dict(), 'move_set': None } assert d == expected
def test_005_species_damage_relation_dual_type_no_damage(self): t1 = pokemon.Type(1, 'normal') t1.set_damage_relation(pokemon.DamageRelation.NO_DAMAGE_FROM, t1) for damage_relation in [ pokemon.DamageRelation.NO_DAMAGE_FROM, pokemon.DamageRelation.HALF_DAMAGE_FROM, pokemon.DamageRelation.NORMAL_DAMAGE_FROM, pokemon.DamageRelation.DOUBLE_DAMAGE_FROM ]: t2 = pokemon.Type(2, 'flying') t2.set_damage_relation(damage_relation, t1) s = pokemon.Species(1, 'bulbasaur', types=[t1, t2]) assert s.damage_relation_from_type( t1) == pokemon.DamageRelation.NO_DAMAGE_FROM
def test_010_team_to_dict(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p) expected = { 'id': 1, 'name': 'basic team', 'team': { 'first': p.id, 'second': None, 'third': None, 'fourth': None, 'fifth': None, 'sixth': None } } assert t.to_dict() == expected
def test_005_team_ordered(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p) assert t.team() == [p, None, None, None, None, None]
def test_002_pokemon_status_pokerus(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) assert 'Pokerus' not in p.status() p = pokemon.Pokemon(1, s, pokerus=True) assert 'Pokerus' in p.status()
def test_003_pokemon_status_item(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s, item='Macho Brace') assert 'Macho Brace' in p.status()
def test_006_pokemon_to_string(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) assert '1' in str(p) assert 'bulbasaur' in str(p)
def test_007_pokemon_to_string_nickname(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s, nick_name='Boots') assert 'Boots (bulbasaur)' in str(p)
def teast_001_team_with_pokemon(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p) assert t.get_position(pokemon.TeamPosition.first) == p
def test_004_set_position(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team') t.set_position(pokemon.TeamPosition.first, p) assert t.get_position(pokemon.TeamPosition.first) == p
def test_006_team_unordered(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team', first=p) assert t.team(ordered=False) == [p]
def test_008_team_set_position_type_checks(self): s = pokemon.Species(1, 'bulbasaur') p = pokemon.Pokemon(1, s) t = pokemon.Team(1, 'basic team') self.assertRaises(ValueError, t.set_position, 'foo', p)