From 2549a8d8e1ff08f936978f5f01e61e6132ef82f8 Mon Sep 17 00:00:00 2001 From: FlutterSprite Date: Wed, 29 Nov 2017 20:08:22 -0800 Subject: [PATCH 1/6] Comment out tb_items tests for now --- evennia/contrib/tests.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/evennia/contrib/tests.py b/evennia/contrib/tests.py index 8d40aeaadb..9091fa65ec 100644 --- a/evennia/contrib/tests.py +++ b/evennia/contrib/tests.py @@ -1316,6 +1316,8 @@ class TestTurnBattleFunc(EvenniaTest): # Spend item use tb_items.spend_item_use(test_healpotion, user) self.assertTrue(test_healpotion.db.item_uses == 2) + # Commenting this stuff out just to make sure it's the problem. + """ # Use item user.db.hp = 2 tb_items.use_item(user, test_healpotion, user) @@ -1340,6 +1342,7 @@ class TestTurnBattleFunc(EvenniaTest): self.assertTrue(user.db.conditions == {}) # Delete the test character user.delete() + """ # Test tree select From 0932a839ba53bb85beb6bdb8b3543237e73b9a33 Mon Sep 17 00:00:00 2001 From: FlutterSprite Date: Wed, 29 Nov 2017 20:18:54 -0800 Subject: [PATCH 2/6] Also remove ticker handler for 'attacker' and 'defender' Whoops! I forgot that ALL my test characters are getting subscribed to the ticker handler here - maybe that's the problem? --- evennia/contrib/tests.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/evennia/contrib/tests.py b/evennia/contrib/tests.py index 9091fa65ec..8de5d61fe9 100644 --- a/evennia/contrib/tests.py +++ b/evennia/contrib/tests.py @@ -1230,7 +1230,9 @@ class TestTurnBattleFunc(EvenniaTest): # Test functions in tb_items. def test_tbitemsfunc(self): attacker = create_object(tb_items.TBItemsCharacter, key="Attacker") + tb_items.tickerhandler.remove(interval=30, callback=attacker.at_update, idstring="update") defender = create_object(tb_items.TBItemsCharacter, key="Defender") + tb_items.tickerhandler.remove(interval=30, callback=defender.at_update, idstring="update") testroom = create_object(DefaultRoom, key="Test Room") attacker.location = testroom defender.loaction = testroom @@ -1316,8 +1318,6 @@ class TestTurnBattleFunc(EvenniaTest): # Spend item use tb_items.spend_item_use(test_healpotion, user) self.assertTrue(test_healpotion.db.item_uses == 2) - # Commenting this stuff out just to make sure it's the problem. - """ # Use item user.db.hp = 2 tb_items.use_item(user, test_healpotion, user) @@ -1342,7 +1342,6 @@ class TestTurnBattleFunc(EvenniaTest): self.assertTrue(user.db.conditions == {}) # Delete the test character user.delete() - """ # Test tree select From a3caaf8c5ffc1b1978f36bd2b3d6909ae3805b9b Mon Sep 17 00:00:00 2001 From: FlutterSprite Date: Wed, 29 Nov 2017 20:26:26 -0800 Subject: [PATCH 3/6] Just comment it all out. Travis won't even tell me why it failed this time. --- evennia/contrib/tests.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/evennia/contrib/tests.py b/evennia/contrib/tests.py index 8de5d61fe9..088377380a 100644 --- a/evennia/contrib/tests.py +++ b/evennia/contrib/tests.py @@ -1226,7 +1226,8 @@ class TestTurnBattleFunc(EvenniaTest): self.assertTrue(tb_range.get_range(attacker, defender) == 1) # Remove the script at the end turnhandler.stop() - + + """ # Test functions in tb_items. def test_tbitemsfunc(self): attacker = create_object(tb_items.TBItemsCharacter, key="Attacker") @@ -1342,6 +1343,7 @@ class TestTurnBattleFunc(EvenniaTest): self.assertTrue(user.db.conditions == {}) # Delete the test character user.delete() + """" # Test tree select From 1420c8773e8e345ec60de43570253e269b67da02 Mon Sep 17 00:00:00 2001 From: FlutterSprite Date: Wed, 29 Nov 2017 20:32:00 -0800 Subject: [PATCH 4/6] Comment it out right this time --- evennia/contrib/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/evennia/contrib/tests.py b/evennia/contrib/tests.py index 088377380a..5e8a73bb19 100644 --- a/evennia/contrib/tests.py +++ b/evennia/contrib/tests.py @@ -1227,7 +1227,7 @@ class TestTurnBattleFunc(EvenniaTest): # Remove the script at the end turnhandler.stop() - """ +""" # Test functions in tb_items. def test_tbitemsfunc(self): attacker = create_object(tb_items.TBItemsCharacter, key="Attacker") @@ -1343,7 +1343,7 @@ class TestTurnBattleFunc(EvenniaTest): self.assertTrue(user.db.conditions == {}) # Delete the test character user.delete() - """" +""" # Test tree select From f738427ff3d12de74249e36e0c8686ae3d939ffe Mon Sep 17 00:00:00 2001 From: FlutterSprite Date: Sun, 10 Dec 2017 18:52:34 -0800 Subject: [PATCH 5/6] Add tickerhandler-free character class for tests --- evennia/contrib/turnbattle/tb_items.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/evennia/contrib/turnbattle/tb_items.py b/evennia/contrib/turnbattle/tb_items.py index dca5856fe5..d0e9fe8e34 100644 --- a/evennia/contrib/turnbattle/tb_items.py +++ b/evennia/contrib/turnbattle/tb_items.py @@ -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 + """ ---------------------------------------------------------------------------- @@ -1384,4 +1394,4 @@ AMULET_OF_WEAKNESS = { "item_func" : "add_condition", "item_selfonly" : True, "item_kwargs" : {"conditions":[("Damage Down", 3), ("Accuracy Down", 3), ("Defense Down", 3)]} -} \ No newline at end of file +} From 52d505b011bbbb46cfcb768e0d18c5a92afdd20f Mon Sep 17 00:00:00 2001 From: FlutterSprite Date: Sun, 10 Dec 2017 18:53:10 -0800 Subject: [PATCH 6/6] Use test character class instead --- evennia/contrib/tests.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/evennia/contrib/tests.py b/evennia/contrib/tests.py index 5e8a73bb19..8af7fe59eb 100644 --- a/evennia/contrib/tests.py +++ b/evennia/contrib/tests.py @@ -1226,14 +1226,11 @@ class TestTurnBattleFunc(EvenniaTest): self.assertTrue(tb_range.get_range(attacker, defender) == 1) # Remove the script at the end turnhandler.stop() - -""" + # Test functions in tb_items. def test_tbitemsfunc(self): - attacker = create_object(tb_items.TBItemsCharacter, key="Attacker") - tb_items.tickerhandler.remove(interval=30, callback=attacker.at_update, idstring="update") - defender = create_object(tb_items.TBItemsCharacter, key="Defender") - tb_items.tickerhandler.remove(interval=30, callback=defender.at_update, idstring="update") + 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 @@ -1300,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) @@ -1309,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") @@ -1343,7 +1339,6 @@ class TestTurnBattleFunc(EvenniaTest): self.assertTrue(user.db.conditions == {}) # Delete the test character user.delete() -""" # Test tree select