contrib/tests.py code cleaning, update markup
This commit is contained in:
parent
1b3fb8fca9
commit
81d35dad14
1 changed files with 52 additions and 40 deletions
|
|
@ -12,13 +12,14 @@ from mock import Mock
|
|||
|
||||
from evennia.contrib import rplanguage
|
||||
|
||||
mtrans = {"testing":"1", "is": "2", "a": "3", "human": "4"}
|
||||
mtrans = {"testing": "1", "is": "2", "a": "3", "human": "4"}
|
||||
atrans = ["An", "automated", "advantageous", "repeatable", "faster"]
|
||||
|
||||
text = "Automated testing is advantageous for a number of reasons:" \
|
||||
"tests may be executed Continuously without the need for human " \
|
||||
"intervention, They are easily repeatable, and often faster."
|
||||
|
||||
|
||||
class TestLanguage(EvenniaTest):
|
||||
def setUp(self):
|
||||
super(TestLanguage, self).setUp()
|
||||
|
|
@ -29,6 +30,7 @@ class TestLanguage(EvenniaTest):
|
|||
manual_translations=mtrans,
|
||||
auto_translations=atrans,
|
||||
force=True)
|
||||
|
||||
def tearDown(self):
|
||||
super(TestLanguage, self).tearDown()
|
||||
rplanguage._LANGUAGE_HANDLER.delete()
|
||||
|
|
@ -70,6 +72,7 @@ recog02 = "Mr Receiver2"
|
|||
recog10 = "Mr Sender"
|
||||
emote = "With a flair, /me looks at /first and /colliding sdesc-guy. She says \"This is a test.\""
|
||||
|
||||
|
||||
class TestRPSystem(EvenniaTest):
|
||||
def setUp(self):
|
||||
super(TestRPSystem, self).setUp()
|
||||
|
|
@ -79,12 +82,13 @@ class TestRPSystem(EvenniaTest):
|
|||
self.receiver2 = create_object(rpsystem.ContribRPCharacter, key="Receiver2", location=self.room)
|
||||
|
||||
def test_ordered_permutation_regex(self):
|
||||
self.assertEqual(rpsystem.ordered_permutation_regex(sdesc0),
|
||||
'/[0-9]*-*A\\ nice\\ sender\\ of\\ emotes(?=\\W|$)+|/[0-9]*-*nice\\ sender\\ ' \
|
||||
'of\\ emotes(?=\\W|$)+|/[0-9]*-*A\\ nice\\ sender\\ of(?=\\W|$)+|/[0-9]*-*sender\\ ' \
|
||||
'of\\ emotes(?=\\W|$)+|/[0-9]*-*nice\\ sender\\ of(?=\\W|$)+|/[0-9]*-*A\\ nice\\ ' \
|
||||
'sender(?=\\W|$)+|/[0-9]*-*nice\\ sender(?=\\W|$)+|/[0-9]*-*of\\ emotes(?=\\W|$)+' \
|
||||
'|/[0-9]*-*sender\\ of(?=\\W|$)+|/[0-9]*-*A\\ nice(?=\\W|$)+|/[0-9]*-*sender(?=\\W|$)+' \
|
||||
self.assertEqual(
|
||||
rpsystem.ordered_permutation_regex(sdesc0),
|
||||
'/[0-9]*-*A\\ nice\\ sender\\ of\\ emotes(?=\\W|$)+|/[0-9]*-*nice\\ sender\\ '
|
||||
'of\\ emotes(?=\\W|$)+|/[0-9]*-*A\\ nice\\ sender\\ of(?=\\W|$)+|/[0-9]*-*sender\\ '
|
||||
'of\\ emotes(?=\\W|$)+|/[0-9]*-*nice\\ sender\\ of(?=\\W|$)+|/[0-9]*-*A\\ nice\\ '
|
||||
'sender(?=\\W|$)+|/[0-9]*-*nice\\ sender(?=\\W|$)+|/[0-9]*-*of\\ emotes(?=\\W|$)+'
|
||||
'|/[0-9]*-*sender\\ of(?=\\W|$)+|/[0-9]*-*A\\ nice(?=\\W|$)+|/[0-9]*-*sender(?=\\W|$)+'
|
||||
'|/[0-9]*-*emotes(?=\\W|$)+|/[0-9]*-*nice(?=\\W|$)+|/[0-9]*-*of(?=\\W|$)+|/[0-9]*-*A(?=\\W|$)+')
|
||||
|
||||
def test_sdesc_handler(self):
|
||||
|
|
@ -93,10 +97,11 @@ class TestRPSystem(EvenniaTest):
|
|||
self.speaker.sdesc.add("This is {#324} ignored")
|
||||
self.assertEqual(self.speaker.sdesc.get(), "This is 324 ignored")
|
||||
self.speaker.sdesc.add("Testing three words")
|
||||
self.assertEqual(self.speaker.sdesc.get_regex_tuple()[0].pattern,
|
||||
'/[0-9]*-*Testing\\ three\\ words(?=\\W|$)+|/[0-9]*-*Testing\\ ' \
|
||||
'three(?=\\W|$)+|/[0-9]*-*three\\ words(?=\\W|$)+|/[0-9]*-*Testing'\
|
||||
'(?=\\W|$)+|/[0-9]*-*three(?=\\W|$)+|/[0-9]*-*words(?=\\W|$)+')
|
||||
self.assertEqual(
|
||||
self.speaker.sdesc.get_regex_tuple()[0].pattern,
|
||||
'/[0-9]*-*Testing\\ three\\ words(?=\\W|$)+|/[0-9]*-*Testing\\ '
|
||||
'three(?=\\W|$)+|/[0-9]*-*three\\ words(?=\\W|$)+|/[0-9]*-*Testing'
|
||||
'(?=\\W|$)+|/[0-9]*-*three(?=\\W|$)+|/[0-9]*-*words(?=\\W|$)+')
|
||||
|
||||
def test_recog_handler(self):
|
||||
self.speaker.sdesc.add(sdesc0)
|
||||
|
|
@ -105,15 +110,17 @@ class TestRPSystem(EvenniaTest):
|
|||
self.speaker.recog.add(self.receiver2, recog02)
|
||||
self.assertEqual(self.speaker.recog.get(self.receiver1), recog01)
|
||||
self.assertEqual(self.speaker.recog.get(self.receiver2), recog02)
|
||||
self.assertEqual(self.speaker.recog.get_regex_tuple(self.receiver1)[0].pattern,
|
||||
'/[0-9]*-*Mr\\ Receiver(?=\\W|$)+|/[0-9]*-*Receiver(?=\\W|$)+|/[0-9]*-*Mr(?=\\W|$)+')
|
||||
self.assertEqual(
|
||||
self.speaker.recog.get_regex_tuple(self.receiver1)[0].pattern,
|
||||
'/[0-9]*-*Mr\\ Receiver(?=\\W|$)+|/[0-9]*-*Receiver(?=\\W|$)+|/[0-9]*-*Mr(?=\\W|$)+')
|
||||
self.speaker.recog.remove(self.receiver1)
|
||||
self.assertEqual(self.speaker.recog.get(self.receiver1), sdesc1)
|
||||
|
||||
def test_parse_language(self):
|
||||
self.assertEqual(rpsystem.parse_language(self.speaker, emote),
|
||||
('With a flair, /me looks at /first and /colliding sdesc-guy. She says {##0}',
|
||||
{'##0': (None, '"This is a test."')}) )
|
||||
self.assertEqual(
|
||||
rpsystem.parse_language(self.speaker, emote),
|
||||
('With a flair, /me looks at /first and /colliding sdesc-guy. She says {##0}',
|
||||
{'##0': (None, '"This is a test."')}))
|
||||
|
||||
def parse_sdescs_and_recogs(self):
|
||||
speaker = self.speaker
|
||||
|
|
@ -122,8 +129,8 @@ class TestRPSystem(EvenniaTest):
|
|||
self.receiver2.sdesc.add(sdesc2)
|
||||
candidates = (self.receiver1, self.receiver2)
|
||||
result = ('With a flair, {#9} looks at {#10} and {#11}. She says "This is a test."',
|
||||
{'#11': 'Another nice colliding sdesc-guy for tests', '#10':
|
||||
'The first receiver of emotes.', '#9': 'A nice sender of emotes'})
|
||||
{'#11': 'Another nice colliding sdesc-guy for tests', '#10':
|
||||
'The first receiver of emotes.', '#9': 'A nice sender of emotes'})
|
||||
self.assertEqual(rpsystem.parse_sdescs_and_recogs(speaker, candidates, emote), result)
|
||||
self.speaker.recog.add(self.receiver1, recog01)
|
||||
self.assertEqual(rpsystem.parse_sdescs_and_recogs(speaker, candidates, emote), result)
|
||||
|
|
@ -140,12 +147,15 @@ class TestRPSystem(EvenniaTest):
|
|||
receiver1.msg = lambda text, **kwargs: setattr(self, "out1", text)
|
||||
receiver2.msg = lambda text, **kwargs: setattr(self, "out2", text)
|
||||
rpsystem.send_emote(speaker, receivers, emote)
|
||||
self.assertEqual(self.out0, 'With a flair, |bSender|n looks at |bThe first receiver of emotes.|n ' \
|
||||
'and |bAnother nice colliding sdesc-guy for tests|n. She says |w"This is a test."|n')
|
||||
self.assertEqual(self.out1, 'With a flair, |bA nice sender of emotes|n looks at |bReceiver1|n and ' \
|
||||
'|bAnother nice colliding sdesc-guy for tests|n. She says |w"This is a test."|n')
|
||||
self.assertEqual(self.out2, 'With a flair, |bA nice sender of emotes|n looks at |bThe first ' \
|
||||
'receiver of emotes.|n and |bReceiver2|n. She says |w"This is a test."|n')
|
||||
self.assertEqual(
|
||||
self.out0, 'With a flair, |bSender|n looks at |bThe first receiver of emotes.|n '
|
||||
'and |bAnother nice colliding sdesc-guy for tests|n. She says |w"This is a test."|n')
|
||||
self.assertEqual(
|
||||
self.out1, 'With a flair, |bA nice sender of emotes|n looks at |bReceiver1|n and '
|
||||
'|bAnother nice colliding sdesc-guy for tests|n. She says |w"This is a test."|n')
|
||||
self.assertEqual(
|
||||
self.out2, 'With a flair, |bA nice sender of emotes|n looks at |bThe first '
|
||||
'receiver of emotes.|n and |bReceiver2|n. She says |w"This is a test."|n')
|
||||
|
||||
def test_rpsearch(self):
|
||||
self.speaker.sdesc.add(sdesc0)
|
||||
|
|
@ -195,16 +205,17 @@ class TestExtendedRoom(CommandTest):
|
|||
self.assertEqual(self.DETAIL_DESC, self.room1.return_detail("testdetail"))
|
||||
|
||||
def test_cmdextendedlook(self):
|
||||
self.call(extended_room.CmdExtendedLook(), "here","Room(#1)\n%s" % self.SUMMER_DESC)
|
||||
self.call(extended_room.CmdExtendedLook(), "here", "Room(#1)\n%s" % self.SUMMER_DESC)
|
||||
self.call(extended_room.CmdExtendedLook(), "testdetail", self.DETAIL_DESC)
|
||||
self.call(extended_room.CmdExtendedLook(), "nonexistent", "Could not find 'nonexistent'.")
|
||||
|
||||
def test_cmdextendeddesc(self):
|
||||
self.call(extended_room.CmdExtendedDesc(), "", "Details on Room", cmdstring="@detail")
|
||||
self.call(extended_room.CmdExtendedDesc(), "thingie = newdetail with spaces",
|
||||
"Set Detail thingie to 'newdetail with spaces'.", cmdstring="@detail")
|
||||
"Set Detail thingie to 'newdetail with spaces'.", cmdstring="@detail")
|
||||
self.call(extended_room.CmdExtendedDesc(), "thingie", "Detail 'thingie' on Room:\n", cmdstring="@detail")
|
||||
self.call(extended_room.CmdExtendedDesc(), "/del thingie", "Detail thingie deleted, if it existed.", cmdstring="@detail")
|
||||
self.call(extended_room.CmdExtendedDesc(), "/del thingie",
|
||||
"Detail thingie deleted, if it existed.", cmdstring="@detail")
|
||||
self.call(extended_room.CmdExtendedDesc(), "thingie", "Detail 'thingie' not found.", cmdstring="@detail")
|
||||
self.call(extended_room.CmdExtendedDesc(), "", "Descriptions on Room:")
|
||||
|
||||
|
|
@ -217,6 +228,7 @@ class TestExtendedRoom(CommandTest):
|
|||
from evennia import create_object
|
||||
from evennia.contrib import barter
|
||||
|
||||
|
||||
class TestBarter(CommandTest):
|
||||
|
||||
def setUp(self):
|
||||
|
|
@ -230,8 +242,8 @@ class TestBarter(CommandTest):
|
|||
self.char2.msg = Mock()
|
||||
# test all methods of the tradehandler
|
||||
handler = barter.TradeHandler(self.char1, self.char2)
|
||||
self.assertEqual(handler.partA, self.char1)
|
||||
self.assertEqual(handler.partB, self.char2)
|
||||
self.assertEqual(handler.part_a, self.char1)
|
||||
self.assertEqual(handler.part_b, self.char2)
|
||||
handler.msg_other(self.char1, "Want to trade?")
|
||||
handler.msg_other(self.char2, "Yes!")
|
||||
handler.msg_other(None, "Talking to myself...")
|
||||
|
|
@ -253,19 +265,19 @@ class TestBarter(CommandTest):
|
|||
handler = barter.TradeHandler(self.char1, self.char2)
|
||||
handler.join(self.char2)
|
||||
handler.offer(self.char1, self.tradeitem1, self.tradeitem2)
|
||||
self.assertEqual(handler.partA_offers, [self.tradeitem1, self.tradeitem2])
|
||||
self.assertFalse(handler.partA_accepted)
|
||||
self.assertFalse(handler.partB_accepted)
|
||||
self.assertEqual(handler.part_a_offers, [self.tradeitem1, self.tradeitem2])
|
||||
self.assertFalse(handler.part_a_accepted)
|
||||
self.assertFalse(handler.part_b_accepted)
|
||||
handler.offer(self.char2, self.tradeitem3)
|
||||
self.assertEqual(handler.list(), ([self.tradeitem1, self.tradeitem2], [self.tradeitem3]))
|
||||
self.assertEqual(handler.search("TradeItem2"), self.tradeitem2)
|
||||
self.assertEqual(handler.search("TradeItem3"), self.tradeitem3)
|
||||
self.assertEqual(handler.search("nonexisting"), None)
|
||||
self.assertFalse(handler.finish()) # should fail since offer not yet accepted
|
||||
self.assertFalse(handler.finish()) # should fail since offer not yet accepted
|
||||
handler.accept(self.char1)
|
||||
handler.decline(self.char1)
|
||||
handler.accept(self.char2)
|
||||
handler.accept(self.char1) # should trigger handler.finish() automatically
|
||||
handler.accept(self.char1) # should trigger handler.finish() automatically
|
||||
self.assertEqual(self.tradeitem1.location, self.char2)
|
||||
self.assertEqual(self.tradeitem2.location, self.char2)
|
||||
self.assertEqual(self.tradeitem3.location, self.char1)
|
||||
|
|
@ -279,7 +291,7 @@ class TestBarter(CommandTest):
|
|||
self.call(barter.CmdOffer(), "TradeItem1 : Here's my offer.", "You say, \"Here's my offer.\"\n [You offer TradeItem1]")
|
||||
self.call(barter.CmdAccept(), "", "Your trade action: You accept the offer. Char2 must now also accept")
|
||||
self.call(barter.CmdDecline(), "", "Your trade action: You change your mind, declining the current offer.")
|
||||
self.call(barter.CmdAccept(),": Sounds good.", "You say, \"Sounds good.\"\n"
|
||||
self.call(barter.CmdAccept(), ": Sounds good.", "You say, \"Sounds good.\"\n"
|
||||
" [You accept the offer. Char must now also accept.", caller=self.char2)
|
||||
self.call(barter.CmdDecline(), ":No way!", "You say, \"No way!\"\n [You change your mind, declining the current offer.]", caller=self.char2)
|
||||
self.call(barter.CmdOffer(), "TradeItem1, TradeItem2 : My final offer!", "You say, \"My final offer!\"\n [You offer TradeItem1 and TradeItem2]")
|
||||
|
|
@ -357,8 +369,8 @@ class TestWilderness(EvenniaTest):
|
|||
|
||||
self.assertEquals(len(exits), 3)
|
||||
exitsok = ["north", "northeast", "east"]
|
||||
for exit in exitsok:
|
||||
self.assertTrue(any([e for e in exits if e.key == exit]))
|
||||
for each_exit in exitsok:
|
||||
self.assertTrue(any([e for e in exits if e.key == each_exit]))
|
||||
|
||||
# If we move to another location not on an edge, then all directions
|
||||
# should be visible / traversable
|
||||
|
|
@ -370,8 +382,8 @@ class TestWilderness(EvenniaTest):
|
|||
self.assertEquals(len(exits), 8)
|
||||
exitsok = ["north", "northeast", "east", "southeast", "south",
|
||||
"southwest", "west", "northwest"]
|
||||
for exit in exitsok:
|
||||
self.assertTrue(any([e for e in exits if e.key == exit]))
|
||||
for each_exit in exitsok:
|
||||
self.assertTrue(any([e for e in exits if e.key == each_exit]))
|
||||
|
||||
def test_room_creation(self):
|
||||
# Pretend that both char1 and char2 are connected...
|
||||
|
|
@ -414,6 +426,6 @@ class TestWilderness(EvenniaTest):
|
|||
"southwest": (0, 0),
|
||||
"west": (0, 1),
|
||||
"northwest": (0, 2)}
|
||||
for direction, correct_loc in directions.iteritems():
|
||||
for direction, correct_loc in directions.iteritems(): # Not compatible with Python 3
|
||||
new_loc = wilderness.get_new_coordinates(loc, direction)
|
||||
self.assertEquals(new_loc, correct_loc, direction)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue