From b5795493073dd6a8e93264596de63c8e1d4fc81b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20L=C3=BCcke?= Date: Wed, 3 Sep 2025 17:08:38 +0200 Subject: [PATCH] Tests: check for *Area*-Status --- MechFabrik/bauteile/__init__.py | 6 ++++++ tests/test_mech_process.py | 27 ++++++++++++++++++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/MechFabrik/bauteile/__init__.py b/MechFabrik/bauteile/__init__.py index 059de89..3dcd6e3 100755 --- a/MechFabrik/bauteile/__init__.py +++ b/MechFabrik/bauteile/__init__.py @@ -13,6 +13,12 @@ class AreaNames(enum.Enum): LEFT_ARM = 'Linker Arm' +class AreaStatus(enum.Flag): + FINE = 0 + CRITICAL_STRIKE = 1 + DESTROYED = 2 + + class ItemTypes(enum.Enum): COCKPIT = 1 REAKTOR = 2 diff --git a/tests/test_mech_process.py b/tests/test_mech_process.py index 9e94812..328cce4 100755 --- a/tests/test_mech_process.py +++ b/tests/test_mech_process.py @@ -1,15 +1,32 @@ import unittest from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR -from MechFabrik.bauteile import AreaNames +from MechFabrik.bauteile import AreaNames, AreaStatus class TestMechAmor(AbstractTestMechAmor): def test_process(self): for area_name in AreaNames: - self.mech.strike(area_name, OUTER_ARMOR[area_name] - 3) - self.assertEqual(3, self.mech.inner_structure.areas.get(area_name).armor) + 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, self.mech.inner_structure.areas.get(area_name).armor) - self.assertEqual(INNER_ARMOR[area_name] - 1, self.mech.inner_structure.areas.get(area_name).inner_armor) + 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)