Пример #1
0
    def test_effect_creation_event_is_raised(self):
        """
        Test that event is raised to indicate an effect was created
        """
        rng = mock()
        when(rng).randint(1, 6).thenReturn(1)

        pyherc.vtable['\ufdd0:attack'](self.attacker,
                                       1)

        verify(self.model).raise_event(event_type_of('poisoned'))
    def test_triggering_damage_raises_event(self):
        """
        Triggering damage effect should raise a proper event
        """
        model = mock()
        target = (CharacterBuilder().with_model(model).build())

        effect = (DamageBuilder().with_target(target).build())

        effect.trigger()

        verify(model).raise_event(event_type_of('damage triggered'))
Пример #3
0
    def test_triggering_damage_raises_event(self):
        """
        Triggering damage effect should raise a proper event
        """
        model = mock()
        target = (CharacterBuilder()
                  .with_model(model)
                  .build())

        effect = (DamageBuilder()
                  .with_target(target)
                  .build())

        effect.trigger()

        verify(model).raise_event(event_type_of('damage triggered'))
Пример #4
0
    def test_effect_expiration_event_is_raised(self):
        """
        Test that effect expiration raises an event
        """
        model = mock()

        character = (CharacterBuilder()
                     .with_effect(EffectBuilder()
                                  .with_duration(0)
                                  .with_tick(10)
                                  .with_frequency(10))
                     .with_model(model)
                     .build())

        character.remove_expired_effects()

        verify(model).raise_event(event_type_of('effect removed'))