Esempio n. 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)
Esempio n. 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)
Esempio n. 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
Esempio n. 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
Esempio n. 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
Esempio n. 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)
Esempio n. 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)
Esempio n. 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)
Esempio n. 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)
Esempio n. 10
0
def test_repl_save_game():
    """test save function"""

    game = repl._new_game("devon")
    repl._evaluate(".save", game)
Esempio n. 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)
Esempio n. 12
0
def test_look(game):
    """testing _look for room description"""
    assert "the beginning" in repl._evaluate("look", game)[0]
Esempio n. 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)