コード例 #1
0
def test_reset_game():
    g = all_vote_but_one_state()
    setup_users(g)

    vote_lock_msg = {"text": "!vote nick", "user": "******"}
    # g has all votes except for "cd" vote
    # "cd" is werewolf once he locks vote, game should be
    # over for the village.

    message_str = app.process_message(vote_lock_msg, g=g)
    message_list = message_str.split("\n")

    assert message_list == "not_nick was lynched."

    new_g = get_game_state()
    print(new_g)
    assert new_g["STATUS"] == "INACTIVE"
    assert new_g["votes"] == {}
    assert new_g["players"] == {}
    assert new_g["ROUND"] == None

    tear_down()
コード例 #2
0
def test_day_voting_input():
    fake_message = {"text": "!vote not_nick", "user": "******"}
    user_name = "nick"
    target_name = "not_nick"

    day_g = get_fake_game_state()
    day_g["ROUND"] = "day"
    setup_users(day_g)

    assert day_g["votes"] == {}

    message = app.process_message(fake_message, g=day_g)
    assert day_g["votes"] == {}  # shouldn't mutate day_g

    assert message == user_name + " voted for " + target_name
    new_day_g = get_game_state()
    assert new_day_g["votes"] == {"ab": "cd"}  # now it should be mutated

    # shouldn't be allowed to vote again.
    fake_message = {"text": "!vote not_nick", "user": "******"}
    message = app.process_message(fake_message, g=new_day_g)
    assert message == "You have already voted."

    tear_down()