More setUp/tearDown

This commit is contained in:
BattleJenkins 2018-05-21 18:45:07 -07:00
parent 1125dc92fc
commit 17cedbfde7

View file

@ -1082,84 +1082,94 @@ class TestTurnBattleBasicFunc(EvenniaTest):
class TestTurnBattleEquipFunc(EvenniaTest): class TestTurnBattleEquipFunc(EvenniaTest):
def setUp(self):
super(TestTurnBattleEquipFunc, self).setUp()
self.attacker = create_object(tb_equip.TBEquipCharacter, key="Attacker")
self.defender = create_object(tb_equip.TBEquipCharacter, key="Defender")
self.testroom = create_object(DefaultRoom, key="Test Room")
self.joiner = create_object(tb_equip.TBEquipCharacter, key="Joiner")
self.attacker.location = self.testroom
self.defender.loaction = self.testroom
self.joiner.loaction = None
def tearDown(self):
super(TestTurnBattleEquipFunc, self).tearDown()
self.attacker.delete()
self.defender.delete()
self.joiner.delete()
self.testroom.delete()
self.turnhandler.stop()
# Test the combat functions in tb_equip too. They work mostly the same. # Test the combat functions in tb_equip too. They work mostly the same.
def test_tbequipfunc(self): def test_tbequipfunc(self):
attacker = create_object(tb_equip.TBEquipCharacter, key="Attacker")
defender = create_object(tb_equip.TBEquipCharacter, key="Defender")
testroom = create_object(DefaultRoom, key="Test Room")
attacker.location = testroom
defender.loaction = testroom
# Initiative roll # Initiative roll
initiative = tb_equip.roll_init(attacker) initiative = tb_equip.roll_init(self.attacker)
self.assertTrue(initiative >= 0 and initiative <= 1000) self.assertTrue(initiative >= 0 and initiative <= 1000)
# Attack roll # Attack roll
attack_roll = tb_equip.get_attack(attacker, defender) attack_roll = tb_equip.get_attack(self.attacker, self.defender)
self.assertTrue(attack_roll >= -50 and attack_roll <= 150) self.assertTrue(attack_roll >= -50 and attack_roll <= 150)
# Defense roll # Defense roll
defense_roll = tb_equip.get_defense(attacker, defender) defense_roll = tb_equip.get_defense(self.attacker, self.defender)
self.assertTrue(defense_roll == 50) self.assertTrue(defense_roll == 50)
# Damage roll # Damage roll
damage_roll = tb_equip.get_damage(attacker, defender) damage_roll = tb_equip.get_damage(self.attacker, self.defender)
self.assertTrue(damage_roll >= 0 and damage_roll <= 50) self.assertTrue(damage_roll >= 0 and damage_roll <= 50)
# Apply damage # Apply damage
defender.db.hp = 10 self.defender.db.hp = 10
tb_equip.apply_damage(defender, 3) tb_equip.apply_damage(self.defender, 3)
self.assertTrue(defender.db.hp == 7) self.assertTrue(self.defender.db.hp == 7)
# Resolve attack # Resolve attack
defender.db.hp = 40 self.defender.db.hp = 40
tb_equip.resolve_attack(attacker, defender, attack_value=20, defense_value=10) tb_equip.resolve_attack(self.attacker, self.defender, attack_value=20, defense_value=10)
self.assertTrue(defender.db.hp < 40) self.assertTrue(self.defender.db.hp < 40)
# Combat cleanup # Combat cleanup
attacker.db.Combat_attribute = True self.attacker.db.Combat_attribute = True
tb_equip.combat_cleanup(attacker) tb_equip.combat_cleanup(self.attacker)
self.assertFalse(attacker.db.combat_attribute) self.assertFalse(self.attacker.db.combat_attribute)
# Is in combat # Is in combat
self.assertFalse(tb_equip.is_in_combat(attacker)) self.assertFalse(tb_equip.is_in_combat(self.attacker))
# Set up turn handler script for further tests # Set up turn handler script for further tests
attacker.location.scripts.add(tb_equip.TBEquipTurnHandler) self.attacker.location.scripts.add(tb_equip.TBEquipTurnHandler)
turnhandler = attacker.db.combat_TurnHandler self.turnhandler = self.attacker.db.combat_TurnHandler
self.assertTrue(attacker.db.combat_TurnHandler) self.assertTrue(self.attacker.db.combat_TurnHandler)
# Set the turn handler's interval very high to keep it from repeating during tests. # Set the turn handler's interval very high to keep it from repeating during tests.
turnhandler.interval = 10000 self.turnhandler.interval = 10000
# Force turn order # Force turn order
turnhandler.db.fighters = [attacker, defender] self.turnhandler.db.fighters = [self.attacker, self.defender]
turnhandler.db.turn = 0 self.turnhandler.db.turn = 0
# Test is turn # Test is turn
self.assertTrue(tb_equip.is_turn(attacker)) self.assertTrue(tb_equip.is_turn(self.attacker))
# Spend actions # Spend actions
attacker.db.Combat_ActionsLeft = 1 self.attacker.db.Combat_ActionsLeft = 1
tb_equip.spend_action(attacker, 1, action_name="Test") tb_equip.spend_action(self.attacker, 1, action_name="Test")
self.assertTrue(attacker.db.Combat_ActionsLeft == 0) self.assertTrue(self.attacker.db.Combat_ActionsLeft == 0)
self.assertTrue(attacker.db.Combat_LastAction == "Test") self.assertTrue(self.attacker.db.Combat_LastAction == "Test")
# Initialize for combat # Initialize for combat
attacker.db.Combat_ActionsLeft = 983 self.attacker.db.Combat_ActionsLeft = 983
turnhandler.initialize_for_combat(attacker) self.turnhandler.initialize_for_combat(self.attacker)
self.assertTrue(attacker.db.Combat_ActionsLeft == 0) self.assertTrue(self.attacker.db.Combat_ActionsLeft == 0)
self.assertTrue(attacker.db.Combat_LastAction == "null") self.assertTrue(self.attacker.db.Combat_LastAction == "null")
# Start turn # Start turn
defender.db.Combat_ActionsLeft = 0 self.defender.db.Combat_ActionsLeft = 0
turnhandler.start_turn(defender) self.turnhandler.start_turn(self.defender)
self.assertTrue(defender.db.Combat_ActionsLeft == 1) self.assertTrue(self.defender.db.Combat_ActionsLeft == 1)
# Next turn # Next turn
turnhandler.db.fighters = [attacker, defender] self.turnhandler.db.fighters = [self.attacker, self.defender]
turnhandler.db.turn = 0 self.turnhandler.db.turn = 0
turnhandler.next_turn() self.turnhandler.next_turn()
self.assertTrue(turnhandler.db.turn == 1) self.assertTrue(self.turnhandler.db.turn == 1)
# Turn end check # Turn end check
turnhandler.db.fighters = [attacker, defender] self.turnhandler.db.fighters = [self.attacker, self.defender]
turnhandler.db.turn = 0 self.turnhandler.db.turn = 0
attacker.db.Combat_ActionsLeft = 0 self.attacker.db.Combat_ActionsLeft = 0
turnhandler.turn_end_check(attacker) self.turnhandler.turn_end_check(self.attacker)
self.assertTrue(turnhandler.db.turn == 1) self.assertTrue(self.turnhandler.db.turn == 1)
# Join fight # Join fight
joiner = create_object(tb_equip.TBEquipCharacter, key="Joiner") self.turnhandler.db.fighters = [self.attacker, self.defender]
turnhandler.db.fighters = [attacker, defender] self.turnhandler.db.turn = 0
turnhandler.db.turn = 0 self.turnhandler.join_fight(self.joiner)
turnhandler.join_fight(joiner) self.assertTrue(self.turnhandler.db.turn == 1)
self.assertTrue(turnhandler.db.turn == 1) self.assertTrue(self.turnhandler.db.fighters == [self.joiner, self.attacker, self.defender])
self.assertTrue(turnhandler.db.fighters == [joiner, attacker, defender])
# Remove the script at the end
turnhandler.stop()
class TestTurnBattleRangeFunc(EvenniaTest): class TestTurnBattleRangeFunc(EvenniaTest):