Example #1
0
 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]
Example #2
0
 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]
Example #3
0
 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
Example #4
0
 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)
Example #5
0
    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)
Example #6
0
    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
Example #7
0
 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
Example #8
0
 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
Example #9
0
 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
Example #10
0
 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)
Example #11
0
 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
Example #12
0
 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
Example #13
0
 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)
Example #14
0
 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
Example #15
0
 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
Example #16
0
 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
Example #17
0
 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()
Example #18
0
    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
Example #19
0
 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
Example #20
0
    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
Example #21
0
 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
Example #22
0
 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]
Example #23
0
 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()
Example #24
0
 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()
Example #25
0
 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)
Example #26
0
 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)
Example #27
0
 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
Example #28
0
 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
Example #29
0
 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]
Example #30
0
 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)