Пример #1
0
def test_repl_bad_keys(game):
    """these are bad keys for take and drop commands"""

    assert repl._evaluate("drop LARSEN",
                          game) == ("There is no LARSEN in your inventory.",
                                    False)
    assert repl._evaluate("take LARSEN",
                          game) == ("There is no LARSEN here.", False)
Пример #2
0
def test_repl_evaluate(game):
    """Dork.repl._evaluate should deal with all input types"""

    assert repl._evaluate("", game) == ('Huh? Can you speak up?', False)
    assert repl._evaluate("     ", game) == ('Huh? Can you speak up?', False)
    assert repl._evaluate("Go",
                          game) == ("Sorry, I don't know that one.", False)
    assert repl._evaluate("walk map",
                          game) == ("Um. Where are you trying to go?", False)
Пример #3
0
def test_get_points(game):
    """prints points"""
    assert "you have:" in repl._evaluate("points", game)[0]
    game = types.Game()
    game.points = 0
    result = game._get_points()
    assert "Booooooo! you suck.\nYou have 0 points." in result
Пример #4
0
def test_take_all_drop_all(game):
    """
        1. take all items
        2. confirm they are now in player inventory
        3. confirm room inventory is empty
        4. drop all items
        5. confirm player inventory empty
        6. confirm all items now in room inventory
    """

    hero = game.hero
    room_0 = game.rooms["room 0"]
    room_inventory = room_0.get_items("", False)

    repl._evaluate("take", game)
    assert hero.get_items("", False) == room_inventory
    assert room_0.get_items("", False) == "There's nothing here."

    repl._evaluate("drop", game)
    assert hero.get_items("", False) == "There's nothing here."
    assert room_0.get_items("", False) == room_inventory
Пример #5
0
def test_drop_item_from_inv(game):
    """
        1. take a random item from the room
        2. confirm it is in player inventory
        3. confirm it is not in room inventory
        4. drop item
        5. confirm no longer in player inventory
        6. confirm item in room inventory
    """

    hero = game.hero
    room_0 = game.rooms["room 0"]
    random_item = choice(list(room_0.inventory.keys()))

    repl._evaluate(f"take {random_item}", game)
    assert random_item in hero.inventory
    assert random_item not in room_0.inventory

    repl._evaluate(f"drop {random_item}", game)
    assert random_item not in hero.inventory
    assert random_item in room_0.inventory
Пример #6
0
def test_take_item_not_in_room(game):
    """try to take an item that is not in the room"""

    no_take = repl._evaluate(f"take larsen", game)
    assert no_take == ("There is no larsen here.", False)
Пример #7
0
def test_drop_item_not_in_inv(game):
    """try to drop an item that is not in your inventory"""

    no_drop = repl._evaluate("drop larsen", game)
    assert no_drop == ("There is no larsen in your inventory.", False)
Пример #8
0
def test_basic_command_functioning(game):
    """Basic commands must not crash game"""

    assert repl._evaluate("go", game)
    assert repl._evaluate("move", game)
    assert repl._evaluate("walk", game)
    assert repl._evaluate("travel", game)
    assert repl._evaluate("run", game)
    assert repl._evaluate("head", game)
    assert repl._evaluate("look", game)
    assert repl._evaluate("i", game)
    assert repl._evaluate("inv", game)
    assert repl._evaluate("inventory", game)
    assert repl._evaluate("examine", game)
    assert repl._evaluate("add", game)
    assert repl._evaluate("grab", game)
    assert repl._evaluate("take", game)
    assert repl._evaluate("loot", game)
    assert repl._evaluate("drop", game)
    assert repl._evaluate("use", game)
    assert repl._evaluate("activate", game)
    assert repl._evaluate("points", game)
Пример #9
0
def test_repl_evaluate_safety(game):
    """testing ways to break the repl"""

    assert repl._evaluate("n LARSEN", game)
    assert repl._evaluate("north LARSEN", game)
    assert repl._evaluate("i LARSEN", game)
    assert repl._evaluate("examine LARSEN", game)
    assert repl._evaluate(".new LARSEN", game)
    assert repl._evaluate(".load LARSEN", game)
    assert repl._evaluate(".save LARSEN", game)
    assert repl._evaluate(".m LARSEN", game)
    assert repl._evaluate(".v LARSEN", game)
    assert repl._evaluate(".rq LARSEN", game)
    assert repl._evaluate("points LARSEN", game)
Пример #10
0
def test_repl_save_game():
    """test save function"""

    game = repl._new_game("devon")
    repl._evaluate(".save", game)
Пример #11
0
def test_all_moves_and_others(game):
    """tests that movement is successful and meta methods"""

    for _ in range(4):
        if "description" in repl._evaluate("n", game):
            break
        if "description" in repl._evaluate("s", game):
            break
        if "description" in repl._evaluate("e", game):
            break
        if "description" in repl._evaluate("w", game):
            break

    assert repl._evaluate(".z",
                          game) == ("holy *%&#@!!! a wild zork appeared!",
                                    False)
    assert repl._evaluate("look david",
                          game) == ("This command takes no arguments", False)
    assert repl._evaluate(".z david",
                          game) == ("This command takes no arguments", False)
    assert repl._evaluate(
        "north north",
        game) == ("A command so nice you said it twice!\n...idiot", False)
    assert repl._evaluate(".m", game) == ("\x08", False)

    assert repl._evaluate(".v", game) == ("verbose inventory: ON", False)
    assert "There's nothing here." in repl._evaluate("i", game)
    assert "room" in repl._evaluate("examine", game)[0]
    assert "inventory:" in repl._evaluate("examine", game)[0]

    assert repl._evaluate(".v", game) == ("verbose inventory: OFF", False)
    assert "There's nothing here." in repl._evaluate("i", game)
    assert "room" in repl._evaluate("examine", game)[0]
    assert "inventory:" in repl._evaluate("examine", game)[0]

    assert "room" in repl._evaluate("look", game)[0]
    assert "description" in repl._evaluate("look", game)[0]

    assert repl._evaluate(".rq",
                          game) == ("\nThanks for playing DORK, tester!", True)
Пример #12
0
def test_look(game):
    """testing _look for room description"""
    assert "the beginning" in repl._evaluate("look", game)[0]
Пример #13
0
def test_repl_bad_keys(game):
    """these are bad keys for take and drop commands"""

    assert repl._evaluate("drop LARSEN", game)
    assert repl._evaluate("take LARSEN", game)
    assert repl._evaluate("loot LARSEN", game)