Files
BattleTech/tests/test_mech_process.py
T

33 lines
1.2 KiB
Python
Executable File

import unittest
from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR
from MechFabrik.bauteile import AreaNames, AreaStatus
class TestMechAmor(AbstractTestMechAmor):
def test_process(self):
for area_name in AreaNames:
area = self.mech.inner_structure.areas.get(area_name)
start_armor = OUTER_ARMOR[area_name]
start_inner_armor = INNER_ARMOR[area_name]
self.assertEqual(start_armor, area.armor)
self.assertEqual(start_inner_armor, area.inner_armor)
self.assertEqual(AreaStatus.FINE, area.state)
self.mech.strike(area_name, start_armor - 3)
self.assertEqual(3, area.armor)
self.assertEqual(start_inner_armor, area.inner_armor)
self.assertEqual(AreaStatus.FINE, area.state)
self.mech.strike(area_name, 4)
self.assertEqual(0, area.armor)
self.assertEqual(start_inner_armor - 1, area.inner_armor)
self.assertEqual(AreaStatus.CRITICAL_STRIKE, area.state)
self.mech.strike(area_name, start_inner_armor - 1)
self.assertEqual(0, area.armor)
self.assertEqual(0, area.inner_armor)
self.assertEqual(AreaStatus.DESTROYED, area.state)