class applyEffect(unittest.TestCase):
    """ Test cases of applyEffect """
    def setUp(self):
        """ Build the environment and effect delegate for the test """
        self.environment = BattleEnvironment()
        self.effect = StartWeatherDelegate(Hail.type)

    def weatherChanges(self):
        """ Test that the weather changes when the effect is applied """
        assert self.environment.weather.type is None, "Should have No Weather at first"
        self.effect.applyEffect(None, None, self.environment)
        assert self.environment.weather.type == Hail.type, "Should have Hail Weather at first"

    def weatherMessage(self):
        """ Test that the weather changes when the effect is applied """
        messages = self.effect.applyEffect(None, None, self.environment)
        assert messages == [Hail.startMessage
                            ], "Should have the Hail Start Message"
class applyEffect(unittest.TestCase):
    """ Test cases of applyEffect """
    
    def  setUp(self):
        """ Build the environment and effect delegate for the test """
        self.environment = BattleEnvironment()
        self.effect = StartWeatherDelegate(Hail.type)
        
    def weatherChanges(self):
        """ Test that the weather changes when the effect is applied """
        assert self.environment.weather.type is None, "Should have No Weather at first"
        self.effect.applyEffect(None, None, self.environment)
        assert self.environment.weather.type == Hail.type, "Should have Hail Weather at first"
        
    def weatherMessage(self):
        """ Test that the weather changes when the effect is applied """
        messages = self.effect.applyEffect(None, None, self.environment)
        assert messages == [Hail.startMessage], "Should have the Hail Start Message"
 def setUp(self):
     """ Build the environment and effect delegate for the test """
     self.environment = BattleEnvironment()
     self.effect = StartWeatherDelegate(Hail.type)
 def  setUp(self):
     """ Build the environment and effect delegate for the test """
     self.environment = BattleEnvironment()
     self.effect = StartWeatherDelegate(Hail.type)