Test character class without tickerhandler

This commit is contained in:
BattleJenkins 2017-12-10 18:50:34 -08:00
parent dc67f4b871
commit b213f4a243
2 changed files with 15 additions and 6 deletions

View file

@ -1229,8 +1229,8 @@ class TestTurnBattleFunc(EvenniaTest):
# Test functions in tb_items.
def test_tbitemsfunc(self):
attacker = create_object(tb_items.TBItemsCharacter, key="Attacker")
defender = create_object(tb_items.TBItemsCharacter, key="Defender")
attacker = create_object(tb_items.TBItemsCharacterTest, key="Attacker")
defender = create_object(tb_items.TBItemsCharacterTest, key="Defender")
testroom = create_object(DefaultRoom, key="Test Room")
attacker.location = testroom
defender.loaction = testroom
@ -1297,7 +1297,7 @@ class TestTurnBattleFunc(EvenniaTest):
turnhandler.turn_end_check(attacker)
self.assertTrue(turnhandler.db.turn == 1)
# Join fight
joiner = create_object(tb_items.TBItemsCharacter, key="Joiner")
joiner = create_object(tb_items.TBItemsCharacterTest, key="Joiner")
turnhandler.db.fighters = [attacker, defender]
turnhandler.db.turn = 0
turnhandler.join_fight(joiner)
@ -1306,8 +1306,7 @@ class TestTurnBattleFunc(EvenniaTest):
# Remove the script at the end
turnhandler.stop()
# Now time to test item stuff.
user = create_object(tb_items.TBItemsCharacter, key="User")
tb_items.tickerhandler.remove(interval=30, callback=user.at_update, idstring="update")
user = create_object(tb_items.TBItemsCharacterTest, key="User")
testroom = create_object(DefaultRoom, key="Test Room")
user.location = testroom
test_healpotion = create_object(key="healing potion")

View file

@ -592,7 +592,17 @@ class TBItemsCharacter(DefaultCharacter):
self.apply_turn_conditions()
# Tick down condition durations
condition_tickdown(self, self)
class TBItemsCharacterTest(TBItemsCharacter):
"""
Just like the TBItemsCharacter, but doesn't subscribe to the TickerHandler.
This makes it easier to run unit tests on.
"""
def at_object_creation(self):
self.db.max_hp = 100 # Set maximum HP to 100
self.db.hp = self.db.max_hp # Set current HP to maximum
self.db.conditions = {} # Set empty dict for conditions
"""
----------------------------------------------------------------------------