First draft of a reworked the unittest framework to handle the new form of chars/players/commands. Not functioning yet.

This commit is contained in:
Griatch 2013-05-12 14:13:13 +02:00
parent cb4c813a68
commit a6840aff15

View file

@ -25,6 +25,7 @@ main test suite started with
from django.utils.unittest import TestCase from django.utils.unittest import TestCase
from src.players.player import Player from src.players.player import Player
#from src.objects.Objects import Character
from src.utils import create, utils, ansi from src.utils import create, utils, ansi
#------------------------------------------------------------ #------------------------------------------------------------
@ -32,7 +33,7 @@ from src.utils import create, utils, ansi
# ------------------------------------------------------------ # ------------------------------------------------------------
class TestPlayer(Player): class TestPlayer(Player):
def msg(self, message, from_obj=None, data=None): def msg(self, message, **kwargs):
"test message" "test message"
#print "in testing msg():", message #print "in testing msg():", message
if not self.ndb.stored_msg: if not self.ndb.stored_msg:
@ -51,15 +52,13 @@ class CommandTest(TestCase):
self.room2 = create.create_object("src.objects.objects.Room", key="Room%ib"%self.CID) self.room2 = create.create_object("src.objects.objects.Room", key="Room%ib"%self.CID)
self.obj1 = create.create_object("src.objects.objects.Object", key="Obj%i"%self.CID, location=self.room1, home=self.room1) self.obj1 = create.create_object("src.objects.objects.Object", key="Obj%i"%self.CID, location=self.room1, home=self.room1)
self.obj2 = create.create_object("src.objects.objects.Object", key="Obj%ib"%self.CID, location=self.room1, home=self.room1) self.obj2 = create.create_object("src.objects.objects.Object", key="Obj%ib"%self.CID, location=self.room1, home=self.room1)
self.player = create.create_player("TestPlayer%i"%self.CID, "test@test.com", "testpassword", typeclass=TestPlayer, create_character=False) self.char1 = create.create_object("src.objects.objects.Character", key="Char%i" % self.CID, location=self.room1, home=self.room1)
self.caller = create.create_player("Caller%i"%self.CID, "test@test.com", "testpassword", player_dbobj=self.player.dbobj, self.char2 = create.create_object("src.objects.objects.Character", key="Char%ib" % self.CID, location=self.room1, home=self.room1)
character_typeclass="src.objects.objects.Character", self.script = create.create_script("src.scripts.scripts.Script", key="Script%i"%self.CID)
permissions=["Immortals"], character_home=self.room1, character_location=self.room1) self.player = create.create_player("TestPlayer%i"%self.CID, "test@test.com", "testpassword", typeclass=TestPlayer)
self.caller.player = self.player
self.char = create.create_player("Char%i"%self.CID, "test2@test.com", "testpassword2", typeclass=TestPlayer, self.char1.player = self.player
character_typeclass="src.objects.objects.Character", self.char1.sessid = 1
permissions=["Immortals"], character_home=self.room1, character_location=self.room1)
self.char = create.create_script("src.scripts.scripts.Script", key="Script%i"%self.CID)
def call(self, cmdobj, args, msg=None, cmdset=None, noansi=True): def call(self, cmdobj, args, msg=None, cmdset=None, noansi=True):
""" """
@ -73,19 +72,23 @@ class CommandTest(TestCase):
output sent to caller.msg in the game output sent to caller.msg in the game
""" """
cmdobj.caller = self.caller cmdobj.caller = self.char1
cmdobj.cmdstring = cmdobj.key cmdobj.cmdstring = cmdobj.key
cmdobj.args = args cmdobj.args = args
cmdobj.cmdset = cmdset cmdobj.cmdset = cmdset
cmdobj.raw_string = cmdobj.key + " " + args cmdobj.raw_string = cmdobj.key + " " + args
cmdobj.obj = self.caller cmdobj.obj = self.char1
cmdobj.sessid = 1
# test # test
self.caller.player.ndb.stored_msg = [] self.char1.player.ndb.stored_msg = []
cmdobj.at_pre_cmd() cmdobj.at_pre_cmd()
cmdobj.parse() cmdobj.parse()
cmdobj.func() cmdobj.func()
cmdobj.at_post_cmd() cmdobj.at_post_cmd()
returned_msg = "|".join(self.caller.player.ndb.stored_msg) for msg in self.char1.player.ndb.stored_msg:
# clean out prettytable sugar
pass
returned_msg = "|".join(self.char1.player.ndb.stored_msg)
returned_msg = ansi.parse_ansi(returned_msg, strip_ansi=noansi).strip() returned_msg = ansi.parse_ansi(returned_msg, strip_ansi=noansi).strip()
if msg != None and not returned_msg.startswith(msg.strip()): if msg != None and not returned_msg.startswith(msg.strip()):
sep1 = "\n" + "="*30 + "Wanted message" + "="*34 + "\n" sep1 = "\n" + "="*30 + "Wanted message" + "="*34 + "\n"