Пример #1
0
def test_get_event_possible(mocker):
    mocker.patch.object(Event,
                        'is_event_possible',
                        side_effect=[True, True, True, False, False])
    events = Events([Event(), Event(), Event(), Event(), Event()])
    events_possible = events.get_event_possible(country)
    assert events_possible == events.events[0:3]
Пример #2
0
def test_event_effect_event_not_occurs(mocker):
    effect_dict = {'effect': 0}
    mocker.patch.object(ev, 'is_event_occurs', return_value=False)
    mocker.patch.object(Events,
                        'get_event_possible',
                        return_value=[Event(), Event()])
    mocker.patch.object(random, 'choice', return_value=Event())
    mocker.patch.object(Effects,
                        'get_current_effects',
                        return_value=effect_dict)
    events = Events()
    effect = events.get_event_effect(country)
    assert effect == {}
    assert random.choice.call_count == 0
Пример #3
0
def test_event_effect_with_event(mocker):
    effect_dict = {'effect': 0}
    mocker.patch.object(ev, 'is_event_occurs', return_value=True)
    mocker.patch.object(Events,
                        'get_event_possible',
                        return_value=[Event(), Event()])
    mocker.patch.object(random, 'choice', return_value=Event())
    mocker.patch.object(Effects,
                        'get_current_effects',
                        return_value=effect_dict)
    mocker.patch.object(outputs, 'display_event', return_value=None)
    events = Events()
    effect = events.get_event_effect(country)
    assert effect == effect_dict
    assert random.choice.call_count == 1
    assert outputs.display_event.call_count == 1
Пример #4
0
def test_is_event_possible_false(mocker):
    mocker.patch.object(Country, '__getattr__', return_value=0.5)
    event = Event(condition_type=EffectDescriptor.SOCIAL,
                  condition_direction='inf',
                  condition_value=0.4,
                  is_done=False)
    assert not event.is_event_possible(country)
    event = Event(condition_type=EffectDescriptor.SOCIAL,
                  condition_direction='sup',
                  condition_value=0.6,
                  is_done=False)
    assert not event.is_event_possible(country)
    event = Event(condition_type=EffectDescriptor.SOCIAL,
                  condition_direction='inf',
                  condition_value=0.6,
                  is_done=True)
    assert not event.is_event_possible(country)
Пример #5
0
def test_display_event(mocker):
    name = 'Name'
    description = 'Description'
    effects = 'Effects'
    mocker.patch('sys.stdout', new_callable=StringIO)
    mocker.patch.object(outputs, 'effects_to_str', return_value=effects)
    event = Event(name=name, description=description, effects=Effects())
    outputs.display_event(event)
    out = sys.stdout.getvalue()
    assert out.find(name) != -1
    assert out.find(description) != -1
    assert out.find(effects) != -1
Пример #6
0
def test_get_effect(mocker):
    mocker.patch.object(Effects, 'get_current_effects', return_value={})
    event = Event()
    effect = event.get_effects()
    assert Effects.get_current_effects.call_count == 1
    assert effect == {}
Пример #7
0
def test_init_error():
    with pytest.raises(KeyError):
        Event(condition_direction='inp')