Ejemplo n.º 1
0
def test_auto_summon():
    q = queue.Queue()
    ec = events.EventClassifier()
    prompt.Prompt(ec)
    clerbot = cler.ClerBot(q, ec, u"Дарсу")

    init_group(clerbot, group_setup)

    for s, mode in group_headers:
        if mode == "NEAR":
            clerbot.mudfilter(s)
            break

    assert clerbot.mode() == "NEAR"

    for g_member in group1_near:
        clerbot.mudfilter(g_member)

    ec.mudfilter(p1)
    assert q.get_nowait().command() == u"cast призыв Алиант"

    ec.mudfilter("Вы произнесли магические слова 'призыв'...")
    ec.mudfilter("Алиант неожиданно появился.")
    ec.mudfilter(p1)
    assert q.get_nowait().command() == u"cast призыв Цушка"

    ec.mudfilter("Вы произнесли магические слова 'призыв'...")
    assert q.empty()

    return q, clerbot
Ejemplo n.º 2
0
def test_unstone():
    q = queue.Queue()
    ec = events.EventClassifier()
    prompt.Prompt(ec)
    clerbot = cler.ClerBot(q, ec, u"Дарсу")

    init_group(clerbot, group_setup)

    for s, mode in group_headers:
        if mode == "HEALTH":
            clerbot.mudfilter(s)
            break

    assert clerbot.mode() == "HEALTH"

    clerbot.mudfilter(color2_test.replace("^[", chr(27)))

    ec.mudfilter(p1)

    assert q.get_nowait().command() == u"cast живое.прикосновение Шыгос"

    init_group(clerbot, stone_setup)
    for s, mode in group_headers:
        if mode == "HEALTH":
            clerbot.mudfilter(s)
            break

    assert clerbot.mode() == "HEALTH"

    for s in stone_test:
        clerbot.mudfilter(s.replace("^[", chr(27)))

    ec.mudfilter(p1)
    assert q.get_nowait().command() == u"cast живое.прикосновение Китаст"
Ejemplo n.º 3
0
def test_assist_battle_prompt_regexp():
  p1 = u"320H 243M 174V 5MX 0C [Оланги:Великолепное]-[Дарсу:Жив] [рыжая белочка:Умирает] Вых:СЮЗ> "

  ec = events.EventClassifier()
  p = prompt.Prompt(ec)

  ec.mudfilter(p1)
  assert p.current()
  assert p.exits() == u"СЮЗ"
Ejemplo n.º 4
0
def test_add_event():
    ec = events.EventClassifier()

    #a = utils.compile_regexp(u"r[^(?P<who>.+) произнес магические слова .$]")
    ev = utils.compile_regexp(u"r[^Вам лучше встать на ноги!]")

    ec.add_event("better_stand_up", ev)
    ec.add_callback("better_stand_up", AssertListener("better_stand_up"))
    ec.mudfilter("Вам лучше встать на ноги!")
    assert ec.current() == "better_stand_up"
Ejemplo n.º 5
0
def test_check():
    q = queue.Queue()
    event_classifier = events.EventClassifier()
    prompt.Prompt(event_classifier)
    magebot = mage.MageBot(q, event_classifier, u"Эригон")

    init_group(event_classifier, group_setup)
    magebot.mudfilter(u"Вы произнесли магические слова 'гроза'...")

    assert q.get_nowait().command() == u"пгр поз ряд"
Ejemplo n.º 6
0
def test_following():
    q = queue.Queue()
    event_classifier = events.EventClassifier()
    prompt.Prompt(event_classifier)
    magebot = mage.MageBot(q, event_classifier, u"Эригон")

    init_group(event_classifier, group_setup)

    magebot.mudfilter(u"Вы последовали за Дарсу.")
    assert q.get_nowait().command() == u"пгр поз ряд"

    return q, magebot
Ejemplo n.º 7
0
def test_frag_mod():
    q = queue.Queue()
    event_classifier = events.EventClassifier()
    prompt.Prompt(event_classifier)
    group_mod = bot.GroupListMod(q, event_classifier, u"Эригон")
    mod = bot.FragMod(q, event_classifier, group_mod)

    init_group(event_classifier, group_setup)

    for s, mode in group_headers:
        event_classifier.mudfilter(s)
        if mode == "POSITION":
            assert mod.mode()
        event_classifier.mudfilter(p1)
        assert (mod.mode() == None)
Ejemplo n.º 8
0
def test_prompt_regexp():
  p1 = u"876H 1009M 66V 51503MX 0C Вых:В>"

  nonp1 = "not prompt"
  nonp2 = u"MX 0C Вых:В>"

  ec = events.EventClassifier()
  p = prompt.Prompt(ec)

  ec.mudfilter(p1)
  assert p.current()
  assert p.exits() == u"В"

  ec.mudfilter(nonp1)
  assert not p.current()

  ec.mudfilter(nonp2)
  assert not p.current()
Ejemplo n.º 9
0
def test_cast():
    q = queue.Queue()
    event_classifier = events.EventClassifier()
    prompt.Prompt(event_classifier)
    magebot = mage.MageBot(q, event_classifier, u"Эригон")

    init_group(event_classifier, group_setup)

    for s, mode in group_headers:
        if mode == "POSITION":
            event_classifier.mudfilter(s)
            break

    for g_member in group1_fight:
        event_classifier.mudfilter(g_member)

    event_classifier.mudfilter(p1)
    assert q.get_nowait().command() == u"cast гроза"
Ejemplo n.º 10
0
def test_rotation():
    q = queue.Queue()
    event_classifier = events.EventClassifier()
    prompt.Prompt(event_classifier)
    magebot = mage.MageBot(q, event_classifier, u"Эригон")

    init_group(event_classifier, group_setup)

    advance_battle_round(event_classifier)
    assert q.get_nowait().command() == u"cast гроза"

    event_classifier.mudfilter(u"Вы произнесли магические слова 'гроза'...")

    assert q.get_nowait().command() == u"пгр поз ряд"
    advance_battle_round(event_classifier)

    assert q.get_nowait().command() == u"cast гроза"

    return q, magebot
Ejemplo n.º 11
0
def test_undrain():
    q = queue.Queue()
    ec = events.EventClassifier()
    prompt.Prompt(ec)
    clerbot = cler.ClerBot(q, ec, u"Дарсу")

    init_group(ec, group_setup)

    for s, mode in group_headers:
        if mode == "HEALTH":
            clerbot.mudfilter(s)
            break

    assert clerbot.mode() == "HEALTH"

    for g_member in group1_health:
        clerbot.mudfilter(g_member)

    ec.mudfilter(p1)

    assert q.get_nowait().command() == u"cast слово.силы Шыгос"
Ejemplo n.º 12
0
def test_stand_up(monkeypatch):
    q = queue.Queue()
    event_classifier = events.EventClassifier()
    prompt.Prompt(event_classifier)
    group_mod = bot.GroupListMod(q, event_classifier, u"Эригон")
    mod = bot.FragMod(q, event_classifier, group_mod)

    def cmd(command, **kwargs):
        assert command == "stand"

    monkeypatch.setattr(exported, "lyntin_command", cmd)
    init_group(event_classifier, group_setup)

    for s, mode in group_headers:
        if mode == "POSITION":
            event_classifier.mudfilter(s)
            break

    for g_member in group1_stand:
        event_classifier.mudfilter(g_member)

    event_classifier.mudfilter(p1)
Ejemplo n.º 13
0
def test_builtin_events():
    ec = events.EventClassifier()

    ec.mudfilter("Вы последовали за кем-то.")
    assert ec.current() == "you_followed"

    ec.mudfilter("Вы произнесли магические слова 'гроза'...")
    assert ec.current() == "you_casted"

    ec.mudfilter("Вы произнесли магические слова 'гроза' ( сила 310% )...")
    assert ec.current() == "you_casted"

    ec.mudfilter("Вы встали.")
    assert ec.current() == "you_stood_up"

    ec.mudfilter("Вы снова обрели способность разговаривать.")
    assert ec.current() == "you_unmute"

    ec.mudfilter("Черное безмолвие отступило от вас.")
    assert ec.current() == "you_unhardmute"

    ec.mudfilter("Вы снова можете двигаться.")
    assert ec.current() == "you_unhold"
Ejemplo n.º 14
0
def test_stand_up(monkeypatch):
    q = queue.Queue()
    ec = events.EventClassifier()
    prompt.Prompt(ec)
    clerbot = cler.ClerBot(q, ec, u"Дарсу")

    def cmd(command, **kwargs):
        assert command == "stand"

    monkeypatch.setattr(exported, "lyntin_command", cmd)
    init_group(clerbot, group_setup)

    for s, mode in group_headers:
        if mode == "HEALTH":
            clerbot.mudfilter(s)
            break

    assert clerbot.mode() == "HEALTH"

    for g_member in group1_stand:
        clerbot.mudfilter(g_member)

    ec.mudfilter(p1)
Ejemplo n.º 15
0
def test_gag():
    ec = events.EventClassifier()

    ec.gag_current()
    assert ec.is_gagged()