Tests: check for *Area*-Status
This commit is contained in:
@@ -13,6 +13,12 @@ class AreaNames(enum.Enum):
|
|||||||
LEFT_ARM = 'Linker Arm'
|
LEFT_ARM = 'Linker Arm'
|
||||||
|
|
||||||
|
|
||||||
|
class AreaStatus(enum.Flag):
|
||||||
|
FINE = 0
|
||||||
|
CRITICAL_STRIKE = 1
|
||||||
|
DESTROYED = 2
|
||||||
|
|
||||||
|
|
||||||
class ItemTypes(enum.Enum):
|
class ItemTypes(enum.Enum):
|
||||||
COCKPIT = 1
|
COCKPIT = 1
|
||||||
REAKTOR = 2
|
REAKTOR = 2
|
||||||
|
|||||||
@@ -1,15 +1,32 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR
|
from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR
|
||||||
from MechFabrik.bauteile import AreaNames
|
from MechFabrik.bauteile import AreaNames, AreaStatus
|
||||||
|
|
||||||
|
|
||||||
class TestMechAmor(AbstractTestMechAmor):
|
class TestMechAmor(AbstractTestMechAmor):
|
||||||
|
|
||||||
def test_process(self):
|
def test_process(self):
|
||||||
for area_name in AreaNames:
|
for area_name in AreaNames:
|
||||||
self.mech.strike(area_name, OUTER_ARMOR[area_name] - 3)
|
area = self.mech.inner_structure.areas.get(area_name)
|
||||||
self.assertEqual(3, self.mech.inner_structure.areas.get(area_name).armor)
|
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.mech.strike(area_name, 4)
|
||||||
self.assertEqual(0, self.mech.inner_structure.areas.get(area_name).armor)
|
self.assertEqual(0, area.armor)
|
||||||
self.assertEqual(INNER_ARMOR[area_name] - 1, self.mech.inner_structure.areas.get(area_name).inner_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)
|
||||||
|
|||||||
Reference in New Issue
Block a user