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)