Exemplo n.º 1
0
 def test_tell_formats(self):
     player = Player("fritz", "m")
     pc = PlayerConnection(player, ConsoleIo(None))
     player.set_screen_sizes(0, 100)
     player.tell("a b c", format=True)
     player.tell("d e f", format=True)
     self.assertEqual(["a b c\nd e f\n"],
                      player.test_get_output_paragraphs())
     player.tell("a b c", format=True)
     player.tell("d e f", format=True)
     self.assertEqual("a b c d e f\n", pc.get_output())
     player.tell("a b c", format=False)
     player.tell("d e f", format=False)
     self.assertEqual(["a b c\nd e f\n"],
                      player.test_get_output_paragraphs())
     player.tell("a b c", format=False)
     player.tell("d e f", format=False)
     self.assertEqual("a b c\nd e f\n", pc.get_output())
     player.tell("a b c", format=True)
     player.tell("d e f", format=False)
     self.assertEqual(["a b c\n", "d e f\n"],
                      player.test_get_output_paragraphs())
     player.tell("a b c", format=True)
     player.tell("d e f", format=False)
     self.assertEqual("a b c\nd e f\n", pc.get_output())
Exemplo n.º 2
0
 def test_complete_one(self):
     player = Player("fritz", "m")
     driver = TestDriver()
     conn = PlayerConnection(player)
     io = IoAdapterBase(conn)
     conn.io = io
     self.assertEqual(["criticize"], io.tab_complete("critic", driver))
Exemplo n.º 3
0
 def test_socialize(self):
     player = Player("fritz", "m")
     attic = Location("Attic", "A dark attic.")
     julie = NPC("julie", "f")
     julie.move(attic)
     player.move(attic)
     parsed = player.parse("wave all")
     self.assertEqual("wave", parsed.verb)
     self.assertEqual([julie], parsed.who_order)
     who, playermsg, roommsg, targetmsg = player.soul.process_verb_parsed(
         player, parsed)
     self.assertEqual({julie}, who)
     self.assertEqual("You wave happily at julie.", playermsg)
     with self.assertRaises(tale.soul.UnknownVerbException):
         player.parse("befrotzificate all and me")
     with self.assertRaises(NonSoulVerb) as x:
         player.parse("befrotzificate all and me",
                      external_verbs={"befrotzificate"})
     parsed = x.exception.parsed
     self.assertEqual("befrotzificate", parsed.verb)
     self.assertEqual([julie, player], parsed.who_order)
     attic.add_exits([Exit("south", "target", "door")])
     try:
         player.parse("push south")
         self.fail(
             "push south should throw a parse error because of the exit that is used"
         )
     except ParseError:
         pass
     with self.assertRaises(NonSoulVerb):
         player.parse("fart south")
     parsed = player.parse("hug julie")
     player.validate_socialize_targets(parsed)
Exemplo n.º 4
0
 def test_custom_verbs(self):
     player = Player("julie", "f")
     player.verbs["xywobble"] = "p1"
     monster = NPC("snake", "f")
     monster.verbs["snakeverb"] = "s1"
     room = Location("room")
     chair1 = Item("chair1")
     chair1.verbs["frobnitz"] = "c1"
     chair2 = Item("chair2")
     chair2.verbs["frobnitz"] = "c2"
     chair_in_inventory = Item("chair3")
     chair_in_inventory.verbs["kowabooga"] = "c3"
     box_in_inventory = Item("box")
     box_in_inventory.verbs["boxverb"] = "c4"
     player.init_inventory([box_in_inventory, chair_in_inventory])
     exit = Exit("e", "dummy", None, None)
     exit.verbs["exitverb"] = "c5"
     room.init_inventory([chair1, player, chair2, monster])
     room.add_exits([exit])
     custom_verbs = mud_context.driver.current_custom_verbs(player)
     all_verbs = mud_context.driver.current_verbs(player)
     self.assertEqual(
         {
             "xywobble", "snakeverb", "frobnitz", "kowabooga", "boxverb",
             "exitverb"
         }, set(custom_verbs))
     self.assertEqual(set(), set(custom_verbs) - set(all_verbs))
Exemplo n.º 5
0
    def test_move_notify(self):
        class LocationNotify(Location):
            def notify_npc_left(self, npc, target_location):
                self.npc_left = npc
                self.npc_left_target = target_location

            def notify_npc_arrived(self, npc, previous_location):
                self.npc_arrived = npc
                self.npc_arrived_from = previous_location

            def notify_player_left(self, player, target_location):
                self.player_left = player
                self.player_left_target = target_location

            def notify_player_arrived(self, player, previous_location):
                self.player_arrived = player
                self.player_arrived_from = previous_location

        player = Player("julie", "f")
        room1 = LocationNotify("room1")
        room2 = LocationNotify("room2")
        room1.insert(player, player)
        player.move(room2)
        pubsub.sync()
        self.assertEqual(room2, player.location)
        self.assertEqual(player, room1.player_left)
        self.assertEqual(room2, room1.player_left_target)
        self.assertEqual(player, room2.player_arrived)
        self.assertEqual(room1, room2.player_arrived_from)
Exemplo n.º 6
0
 def test_print_location(self):
     p = Player("julie", "f")
     key = Item("key")
     bag = Container("bag")
     room = Location("room")
     bag.insert(key, p)
     p.insert(bag, p)
     room.insert(p, p)
     with self.assertRaises(Exception):
         p.tell_object_location(None, None)
     p.tell_object_location(key, None)
     self.assertEqual(["(It's not clear where key is).\n"],
                      p.test_get_output_paragraphs())
     p.tell_object_location(key, None, print_parentheses=False)
     self.assertEqual(["It's not clear where key is.\n"],
                      p.test_get_output_paragraphs())
     p.tell_object_location(key, bag)
     result = "".join(p.test_get_output_paragraphs())
     self.assertTrue("in bag" in result and "in your inventory" in result)
     p.tell_object_location(key, room)
     self.assertTrue("in your current location" in "".join(
         p.test_get_output_paragraphs()))
     p.tell_object_location(bag, p)
     self.assertTrue(
         "in your inventory" in "".join(p.test_get_output_paragraphs()))
     p.tell_object_location(p, room)
     self.assertTrue("in your current location" in "".join(
         p.test_get_output_paragraphs()))
Exemplo n.º 7
0
 def test_write_output(self):
     player = Player("julie", "f")
     with WrappedConsoleIO(None) as io:
         pc = PlayerConnection(player, io)
         player.tell("hello 1", end=True)
         player.tell("hello 2", end=True)
         pc.write_output()
         self.assertEqual("  hello 2", pc.last_output_line)
         self.assertEqual("  hello 1\n  hello 2\n", sys.stdout.getvalue())
Exemplo n.º 8
0
 def test_tell_emptystring(self):
     player = Player("fritz", "m")
     player.tell("", end=False)
     self.assertEqual([], player.test_get_output_paragraphs())
     player.tell("", end=True)
     self.assertEqual(["\n"], player.test_get_output_paragraphs())
     player.tell("", end=True)
     player.tell("", end=True)
     self.assertEqual(["\n", "\n"], player.test_get_output_paragraphs())
Exemplo n.º 9
0
 def test_tell(self) -> None:
     player = Player("fritz", "m")
     player.tell("5")
     self.assertEqual(["5\n"], player.test_get_output_paragraphs())
     player.tell("")
     self.assertEqual([], player.test_get_output_paragraphs())
     player.tell("")
     player.tell("")
     self.assertEqual([], player.test_get_output_paragraphs())
     player.tell("")
     player.tell("line1")
     player.tell("line2")
     player.tell("")
     self.assertEqual(["line1\nline2\n"],
                      player.test_get_output_paragraphs())
     player.tell("", format=False)
     player.tell("line1", format=False)
     player.tell("", format=False)
     player.tell("line2", format=False)
     player.tell("", format=False)
     self.assertEqual(["\nline1\n\nline2\n\n"],
                      player.test_get_output_paragraphs())
     player.tell("\n")
     self.assertEqual(["\n"], player.test_get_output_paragraphs())
     player.tell("line1")
     player.tell("line2")
     player.tell("hello\nnewline")
     player.tell("\n")
     player.tell("ints")
     player.tell("42")
     player.tell("999")
     self.assertEqual(["line1\nline2\nhello\nnewline\n", "ints\n42\n999\n"],
                      player.test_get_output_paragraphs())
     self.assertEqual([], player.test_get_output_paragraphs())
     player.tell("para1", end=False)
     player.tell("para2", end=True)
     player.tell("para3")
     player.tell("\n")
     player.tell("para4")
     player.tell("\n")
     player.tell("para5")
     self.assertEqual(["para1\npara2\n", "para3\n", "para4\n", "para5\n"],
                      player.test_get_output_paragraphs())
     player.tell("   xyz   \n  123", format=False)
     self.assertEqual(["   xyz   \n  123\n"],
                      player.test_get_output_paragraphs())
     player.tell("line1", end=True)
     player.tell("\n")
     player.tell("line2", end=True)
     player.tell("\n")
     player.tell("\n")
     self.assertEqual(["line1\n", "\n", "line2\n", "\n", "\n"],
                      player.test_get_output_paragraphs())
     player.tell("one two three", format=False)
     self.assertEqual(["one two three\n"],
                      player.test_get_output_paragraphs())
Exemplo n.º 10
0
 def test_notify(self):
     room = Location("room")
     room2 = Location("room2")
     player = Player("julie", "f")
     room.notify_player_arrived(player, room2)
     room.notify_player_left(player, room2)
     room.notify_npc_arrived(player, room2)
     room.notify_npc_left(player, room2)
     parsed = ParseResult("verb")
     room.notify_action(parsed, player)
Exemplo n.º 11
0
 def test_tell_sep(self):
     player = Player("fritz", "m")
     pc = PlayerConnection(player, ConsoleIo(None))
     player.set_screen_sizes(0, 10)
     player.tell("apple", "bee", "zinc", "rose")
     self.assertEqual(["apple bee zinc rose\n"],
                      player.test_get_output_paragraphs())
     pc.get_output()
     player.tell("apple", "bee", "zinc", "rose", format=False)
     self.assertEqual("apple\nbee\nzinc\nrose\n", pc.get_output())
Exemplo n.º 12
0
 def test_peek_output(self):
     player = Player("fritz", "m")
     pc = PlayerConnection(player, ConsoleIo(None))
     player.set_screen_sizes(0, 100)
     player.tell("line1")
     player.tell("line2", 42)
     self.assertEqual(["line1\nline2 42\n"],
                      player.test_peek_output_paragraphs())
     self.assertEqual("line1 line2 42\n", pc.get_output())
     self.assertEqual([], player.test_peek_output_paragraphs())
Exemplo n.º 13
0
 def test_input(self):
     player = Player("julie", "f")
     with WrappedConsoleIO(None) as io:
         pc = PlayerConnection(player, io)
         player.tell("first this text")
         player.store_input_line("      input text     \n")
         x = pc.input_direct("inputprompt")
         self.assertEqual("input text", x)
         self.assertEqual("  first this text\ninputprompt ",
                          sys.stdout.getvalue()
                          )  # should have outputted the buffered text
Exemplo n.º 14
0
 def test_idle(self):
     p = Player("dummy", "f")
     c = PlayerConnection(p, WrappedConsoleIO(None))
     self.assertLess(p.idle_time, 0.1)
     self.assertLess(c.idle_time, 0.1)
     time.sleep(0.2)
     self.assertGreater(p.idle_time, 0.1)
     self.assertGreater(c.idle_time, 0.1)
     p.store_input_line("input")
     self.assertLess(p.idle_time, 0.1)
     self.assertLess(c.idle_time, 0.1)
Exemplo n.º 15
0
 def test_init(self):
     player = Player("fritz", "m")
     player.title = "Fritz the great"
     self.assertEqual("fritz", player.name)
     self.assertEqual("Fritz the great", player.title)
     self.assertEqual("", player.description)
     self.assertEqual("human", player.stats.race)
     self.assertEqual("m", player.gender)
     self.assertEqual(set(), player.privileges)
     self.assertTrue(1 < player.stats.agi < 100)
     self.assertGreater(player.output_line_delay, 1)
Exemplo n.º 16
0
 def test_init_inventory(self):
     rat = NPC("rat", "n", race="rodent")
     rat.insert(Item("thing"), None)
     wizz = Player("wizard", "f")
     wizz.privileges.add("wizard")
     rat.insert(Item("thing2"), wizz)
     self.assertEqual(2, rat.inventory_size)
     stuff = [Item("thing")]
     with self.assertRaises(AssertionError):
         rat.init_inventory(stuff)
     rat = NPC("rat", "n", race="rodent")
     rat.init_inventory(stuff)
     self.assertEqual(1, rat.inventory_size)
Exemplo n.º 17
0
 def test_complete_c(self):
     player = Player("fritz", "m")
     driver = TestDriver()
     conn = PlayerConnection(player)
     io = IoAdapterBase(conn)
     conn.io = io
     result = io.tab_complete("c", driver)
     self.assertGreater(len(result), 20)
     self.assertTrue("cackle" in result)
     self.assertTrue("criticize" in result)
     result = io.tab_complete("h", driver)
     self.assertGreater(len(result), 10)
     self.assertTrue("hiss" in result)
Exemplo n.º 18
0
 def test_tell(self):
     player = Player("fritz", "m")
     player.tell(5)
     self.assertEqual(["5\n"], player.test_get_output_paragraphs())
     player.tell("")
     self.assertEqual([], player.test_get_output_paragraphs())
     player.tell("")
     player.tell("")
     self.assertEqual([], player.test_get_output_paragraphs())
     player.tell("")
     player.tell("line1")
     player.tell("line2")
     player.tell("")
     self.assertEqual(["line1\nline2\n"],
                      player.test_get_output_paragraphs())
     player.tell("", format=False)
     player.tell("line1", format=False)
     player.tell("", format=False)
     player.tell("line2", format=False)
     player.tell("", format=False)
     self.assertEqual(["\nline1\n\nline2\n\n"],
                      player.test_get_output_paragraphs())
     player.tell("\n")
     self.assertEqual(["\n"], player.test_get_output_paragraphs())
     player.tell("line1")
     player.tell("line2")
     player.tell("hello\nnewline")
     player.tell("\n")
     player.tell("ints", 42, 999)
     self.assertEqual(["line1\nline2\nhello\nnewline\n", "ints 42 999\n"],
                      player.test_get_output_paragraphs())
     self.assertEqual([], player.test_get_output_paragraphs())
     player.tell("para1", end=False)
     player.tell("para2", end=True)
     player.tell("para3")
     player.tell("\n")
     player.tell("para4", "\n", "para5")
     self.assertEqual(["para1\npara2\n", "para3\n", "para4 \n para5\n"],
                      player.test_get_output_paragraphs())
     player.tell("   xyz   \n  123", format=False)
     self.assertEqual(["   xyz   \n  123\n"],
                      player.test_get_output_paragraphs())
     player.tell("line1", end=True)
     player.tell("\n")
     player.tell("line2", end=True)
     player.tell("\n")
     player.tell("\n")
     self.assertEqual(["line1\n", "\n", "line2\n", "\n", "\n"],
                      player.test_get_output_paragraphs())
Exemplo n.º 19
0
 def test_look(self):
     player = Player("fritz", "m")
     attic = Location("Attic", "A dark attic.")
     player.look()
     self.assertEqual([
         "[Limbo]\n",
         "The intermediate or transitional place or state. There's only nothingness.\nLiving beings end up here if they're not in a proper location yet.\n"
     ], player.test_get_output_paragraphs())
     player.move(attic, silent=True)
     player.look(short=True)
     self.assertEqual(["[Attic]\n"], player.test_get_output_paragraphs())
     julie = NPC("julie", "f")
     julie.move(attic, silent=True)
     player.look(short=True)
     self.assertEqual(["[Attic]\n", "Present: julie\n"],
                      player.test_get_output_paragraphs())
Exemplo n.º 20
0
 def test_init(self):
     player = Player("fritz", "m")
     player.title = "Fritz the great"
     self.assertEqual("fritz", player.name)
     self.assertEqual("Fritz the great", player.title)
     self.assertEqual("", player.description)
     self.assertEqual("human", player.stats.race)
     self.assertEqual("m", player.gender)
     self.assertEqual("m", player.stats.gender)
     self.assertEqual("he", player.subjective)
     self.assertEqual(set(), player.privileges)
     self.assertGreater(player.output_line_delay, 1)
     player.init_gender("f")
     self.assertEqual("f", player.gender)
     self.assertEqual("f", player.stats.gender)
     self.assertEqual("she", player.subjective)
Exemplo n.º 21
0
 def test_title(self):
     bag = Container("bag", "leather bag", "a small leather bag")
     stone = Item("stone")
     player = Player("julie", "f")
     self.assertEqual("bag", bag.name)
     self.assertEqual("leather bag", bag.title)
     self.assertEqual("a small leather bag", bag.description)
     bag.move(player, player)
     self.assertEqual("bag", bag.name)
     self.assertEqual("leather bag", strip_text_styles(bag.title))
     self.assertEqual("a small leather bag",
                      strip_text_styles(bag.description))
     stone.move(bag, player)
     self.assertEqual("bag", bag.name)
     self.assertEqual("leather bag", strip_text_styles(bag.title))
     self.assertEqual("a small leather bag",
                      strip_text_styles(bag.description))
Exemplo n.º 22
0
 def test_others(self):
     attic = Location("Attic", "A dark attic.")
     player = Player("merlin", "m")
     player.title = "wizard Merlin"
     julie = MsgTraceNPC("julie", "f", "human")
     fritz = MsgTraceNPC("fritz", "m", "human")
     julie.move(attic, silent=True)
     fritz.move(attic, silent=True)
     player.move(attic, silent=True)
     player.tell_others("one", "two", "three")
     self.assertEqual([], player.test_get_output_paragraphs())
     self.assertEqual(["one", "two", "three"], fritz.messages)
     self.assertEqual(["one", "two", "three"], julie.messages)
     fritz.clearmessages()
     julie.clearmessages()
     player.tell_others("{title} and {Title}")
     self.assertEqual(["wizard Merlin and Wizard Merlin"], fritz.messages)
Exemplo n.º 23
0
 def test_insertremove(self):
     key = Item("key")
     thing = Item("gizmo")
     player = Player("julie", "f")
     with self.assertRaises(ActionRefused):
         key.remove(None, player)
     with self.assertRaises(ActionRefused):
         key.remove(thing, player)
     with self.assertRaises(ActionRefused):
         key.insert(None, player)
     with self.assertRaises(ActionRefused):
         key.insert(thing, player)
     key.allow_item_move(player)
     with self.assertRaises(ActionRefused):
         key.inventory
     with self.assertRaises(ActionRefused):
         key.inventory_size
Exemplo n.º 24
0
 def test_destroy_player(self):
     ctx = Context(None, None, None, None)
     loc = Location("loc")
     player = Player("julie", "f")
     player.privileges = {"wizard"}
     player.create_wiretap(loc)
     player.insert(Item("key"), player)
     loc.init_inventory([player])
     self.assertEqual(loc, player.location)
     self.assertTrue(len(player.inventory) > 0)
     self.assertTrue(player in loc.livings)
     player.destroy(ctx)
     import gc
     gc.collect()
     self.assertTrue(len(player.inventory) == 0)
     self.assertFalse(player in loc.livings)
     self.assertIsNone(player.location,
                       "destroyed player should end up nowhere (None)")
Exemplo n.º 25
0
 def test_clone(self):
     item = Item("thing", "description")
     item.aliases = ["a1", "a2"]
     item2 = clone(item)
     self.assertNotEqual(item, item2)
     item2.aliases.append("a3")
     self.assertNotEqual(item.aliases, item2.aliases)
     player = Player("julie", "f")
     player.insert(item, player)
     with self.assertRaises(ValueError):
         clone(player)  # can't clone something with stuff in it
     player.remove(item, player)
     player2 = clone(player)
     player2.insert(item2, player2)
     self.assertNotEqual(player.inventory_size, player2.inventory_size)
     self.assertNotEqual(player.inventory, player2.inventory)
     self.assertFalse(item in player)
     self.assertFalse(item in player2)
Exemplo n.º 26
0
 def test_allowance(self):
     bag = Container("bag")
     key = Item("key")
     player = Player("julie", "f")
     with self.assertRaises(Exception):
         bag.insert(None, player)
     bag.insert(key, player)
     with self.assertRaises(KeyError):
         bag.remove(None, player)
     bag.remove(key, player)
     bag.allow_item_move(player)
     with self.assertRaises(ActionRefused):
         key.insert(bag, player)
     with self.assertRaises(ActionRefused):
         key.remove(bag, player)
     self.assertFalse(key in bag)
     with self.assertRaises(ActionRefused):
         bag in key
Exemplo n.º 27
0
 def setUp(self):
     mud_context.driver = TestDriver()
     mud_context.config = DemoStory()._get_config()
     self.hall = Location("Main hall", "A very large hall.")
     self.attic = Location("Attic", "A dark attic.")
     self.street = Location("Street", "An endless street.")
     e1 = Exit("up", self.attic, "A ladder leads up.")
     e2 = Exit(
         ["door", "east"], self.street,
         "A heavy wooden door to the east blocks the noises from the street outside."
     )
     self.hall.add_exits([e1, e2])
     self.table = Item(
         "table", "oak table",
         "a large dark table with a lot of cracks in its surface")
     self.key = Item("key",
                     "rusty key",
                     "an old rusty key without a label",
                     short_description="Someone forgot a key.")
     self.magazine = Item("magazine", "university magazine")
     self.magazine2 = Item("magazine", "university magazine")
     self.rat = NPC("rat", "n", race="rodent")
     self.rat2 = NPC("rat", "n", race="rodent")
     self.fly = NPC("fly",
                    "n",
                    race="insect",
                    short_description="A fly buzzes around your head.")
     self.julie = NPC("julie",
                      "f",
                      title="attractive Julie",
                      description="She's quite the looker.")
     self.julie.aliases = {"chick"}
     self.player = Player("player", "m")
     self.pencil = Item("pencil", title="fountain pen")
     self.pencil.aliases = {"pen"}
     self.bag = Container("bag")
     self.notebook_in_bag = Item("notebook")
     self.bag.insert(self.notebook_in_bag, self.player)
     self.player.insert(self.pencil, self.player)
     self.player.insert(self.bag, self.player)
     self.hall.init_inventory([
         self.table, self.key, self.magazine, self.magazine2, self.rat,
         self.rat2, self.julie, self.player, self.fly
     ])
Exemplo n.º 28
0
 def test_tell_formatted(self):
     player = Player("fritz", "m")
     pc = PlayerConnection(player, ConsoleIo(None))
     player.set_screen_sizes(0, 100)
     player.tell("line1")
     player.tell("line2")
     player.tell("\n")
     player.tell("hello\nnewline")
     player.tell("\n")  # paragraph separator
     player.tell("ints")
     player.tell(42)
     player.tell(999)
     self.assertEqual("line1 line2\nhello newline\nints 42 999\n",
                      pc.get_output())
     player.tell("para1", end=False)
     player.tell("para2", end=True)
     player.tell("para3")
     player.tell("\n")
     player.tell("para4")
     player.tell("\n")
     player.tell("para5")
     self.assertEqual("para1 para2\npara3\npara4\npara5\n", pc.get_output())
     player.tell("word " * 30)
     self.assertNotEqual(("word " * 30).strip(), pc.get_output())
     player.tell("word " * 30, format=False)
     self.assertEqual(
         ("word " * 30) + "\n",
         pc.get_output())  # when format=False output should be unformatted
     player.tell("   xyz   \n  123", format=False)
     self.assertEqual("   xyz   \n  123\n", pc.get_output())
     player.tell("line1", end=True)
     player.tell("\n")
     player.tell("line2", end=True)
     player.tell("\n")
     player.tell("\n")
     self.assertEqual(["line1\n", "\n", "line2\n", "\n", "\n"],
                      player.test_get_output_paragraphs())
     player.tell("line1", end=True)
     player.tell("\n")
     player.tell("line2", end=True)
     player.tell("\n")
     player.tell("\n")
     self.assertEqual("line1\n\nline2\n\n\n", pc.get_output())
Exemplo n.º 29
0
 def test_inventory(self):
     bag = Container("bag")
     key = Item("key")
     thing = Item("gizmo")
     player = Player("julie", "f")
     with self.assertRaises(ActionRefused):
         thing in key  # can't check for containment in an Item
     self.assertFalse(thing in bag)
     with self.assertRaises(ActionRefused):
         key.insert(thing, player)  # can't add stuf to an Item
     bag.insert(thing, player)
     self.assertTrue(thing in bag)
     self.assertTrue(isinstance(bag.inventory, (set, frozenset)))
     self.assertEqual(1, bag.inventory_size)
     with self.assertRaises(AttributeError):
         bag.inventory_size = 5
     with self.assertRaises(AttributeError):
         bag.inventory = None
     with self.assertRaises(AttributeError):
         bag.inventory.add(5)
Exemplo n.º 30
0
 def test_playernaming(self):
     n = PlayerNaming()
     n.gender = "m"
     n.name = "RINZWIND"
     n.description = "a wizard"
     n.money = 999
     n.stats = Stats.from_race("elemental")
     n.title = "grand master"
     self.assertEqual("rinzwind", n.name)
     p = Player("dummy", "f")
     p.privileges.add("wiz")
     n.apply_to(p)
     self.assertEqual("rinzwind", p.name)
     self.assertEqual("m", p.gender)
     self.assertEqual({"wiz"}, p.privileges)
     self.assertEqual("a wizard", p.description)
     self.assertEqual(999, p.money)
     self.assertEqual("elemental", p.stats.race)
     self.assertEqual(races.B_NEBULOUS, p.stats.bodytype)
     self.assertEqual("grand master", p.title)