예제 #1
0
 def setUp(self):
     """ Builds the side and trap """
     self.source = BuildPokemonBattleWrapper()
     self.pkmn = BuildPokemonBattleWrapper()
     
     self.message = " hurt."
     self.doneMessage = " done."
     self.trap = Trap(None, self.message, self.doneMessage)
예제 #2
0
class getDamage(unittest.TestCase):
    """ Test that getDamage returns the right amount of damage """
    
    def setUp(self):
        """ Builds the Paralysis status"""
        self.pkmn = BuildPokemonBattleWrapper()
        self.trap = Trap(None, "", "")
        self.hp = 32.0
    
    def damage(self):
        """ Test the damage returns the proper ratio """
        self.pkmn.setStat("HP", self.hp)
        damage = self.trap.getDamage(self.pkmn)
        assert damage == self.hp/Trap.ratio, "Damage should be a sixteenth of the targets health"
예제 #3
0
 def setUp(self):
     """ Builds the delegate and side for use in the tests """
     self.pkmn = BuildPokemonBattleWrapper()
     self.delegate = TrapDelegate("", "", "")
     self.trap = Trap(None, "", "")
     self.otherTrap = Trap(None, "other.", "")
예제 #4
0
 def applyEffect(self, user, target, environment):
     """ Apply the trap to the opponent """
     self.removePreviousTrap(target)
     target.secondaryEffects.append(
         Trap(user, self.message, self.doneMessage))
     return [target.getHeader() + self.startMessage]
예제 #5
0
 def setUp(self):
     """ Builds the Paralysis status"""
     self.pkmn = BuildPokemonBattleWrapper()
     self.trap = Trap(None, "", "")
     self.hp = 32.0
예제 #6
0
class afterTurn(unittest.TestCase):
    """ Test that afterTurn returns correctly """
    
    def setUp(self):
        """ Builds the side and trap """
        self.source = BuildPokemonBattleWrapper()
        self.pkmn = BuildPokemonBattleWrapper()
        
        self.message = " hurt."
        self.doneMessage = " done."
        self.trap = Trap(None, self.message, self.doneMessage)
    
    def turnDecreases(self):
        """ Test the turn counter decreases """
        self.trap.turns = 5
        turns = self.trap.turns
        self.trap.afterTurn(self.pkmn)
        assert self.trap.turns == turns - 1, "Turns should decrement"
        
    def effectIsRemoved(self):
        """ Test that the effect is removed when the turn count is reduced to zero """
        self.trap.turns = 1
        self.pkmn.secondaryEffects.append(self.trap)
        self.trap.afterTurn(self.pkmn)
        
        assert self.trap.turns == 0, "Turns should be zero"
        assert not self.trap in self.pkmn.secondaryEffects
        
    def message(self):
        """ Test the message is correct """
        message = self.trap.afterTurn(self.pkmn)
        assert message == [self.pkmn.getHeader() + self.message], "Message should be the pokemon's name and the message given to the Trap."
        
    def doneMessage(self):
        """ Test the done message is correct """
        self.trap.turns = 1
        self.pkmn.secondaryEffects.append(self.trap)
        messages = self.trap.afterTurn(self.pkmn)
        
        assert len(messages) == 2, "Should have two messages"
        assert messages[1] == self.pkmn.getHeader() + self.doneMessage, "Done message should be returned."
        
    def faintMessage(self):
        """ Test the faint message appears if the Pkmn faints """
        self.trap.turns = 3
        self.pkmn.setCurrHP(self.trap.getDamage(self.pkmn))
        
        self.pkmn.secondaryEffects.append(self.trap)
        messages = self.trap.afterTurn(self.pkmn)
        
        assert len(messages) == 2, "Should have two messages"
        assert messages[1] == self.pkmn.getHeader() + Faint.start, "Pkmn should have fainted."
    
    def faintAndDoneMessage(self):
        """ Test the done message is correct """
        self.trap.turns = 1
        self.pkmn.setCurrHP(self.trap.getDamage(self.pkmn))
        
        self.pkmn.secondaryEffects.append(self.trap)
        messages = self.trap.afterTurn(self.pkmn)
        
        assert len(messages) == 2, "Should have two messages"
        assert messages[1] == self.pkmn.getHeader() + Faint.start, "Pkmn should have fainted."