Tests: check for *Area*-Status
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user