Tests: nutze richtige Rüstung in den einzelnen Zonen

This commit is contained in:
2025-09-01 16:33:19 +02:00
parent 1c15f4edcf
commit 94ceb5af66
4 changed files with 84 additions and 2 deletions
+8
View File
@@ -10,36 +10,44 @@ object Sustainment
object Sensors object Sensors
object Head <<Area>> { object Head <<Area>> {
item_lines: 6 item_lines: 6
inner_armor: #
amor: # amor: #
} }
object Cockpit <<Cockpit>> object Cockpit <<Cockpit>>
object Reaktor <<Reaktor>> object Reaktor <<Reaktor>>
object TorsoMiddle <<Area>> { object TorsoMiddle <<Area>> {
item_lines: 12 item_lines: 12
inner_armor: #
amor: # amor: #
} }
object TorsoLeft <<Area>> { object TorsoLeft <<Area>> {
item_lines: 12 item_lines: 12
inner_armor: #
amor: # amor: #
} }
object ArmLeft <<Area>> { object ArmLeft <<Area>> {
item_lines: 12 item_lines: 12
inner_armor: #
amor: # amor: #
} }
object LegLeft <<Area>> { object LegLeft <<Area>> {
item_lines: 6 item_lines: 6
inner_armor: #
amor: # amor: #
} }
object TorsoRight <<Area>> { object TorsoRight <<Area>> {
item_lines: 12 item_lines: 12
inner_armor: #
amor: # amor: #
} }
object ArmRight <<Area>> { object ArmRight <<Area>> {
item_lines: 12 item_lines: 12
inner_armor: #
amor: # amor: #
} }
object LegRight <<Area>> { object LegRight <<Area>> {
item_lines: 6 item_lines: 6
inner_armor: #
amor: # amor: #
} }
object JointAL as "Joint" object JointAL as "Joint"
+15
View File
@@ -101,3 +101,18 @@ class MechFabrik(object):
def auslieferung(self) -> Mech: def auslieferung(self) -> Mech:
return self._mech return self._mech
def setHeadAmore(self, param):
pass
def setMidleTorsoAmore(self, param):
pass
def setSideTorsoAmore(self, param):
pass
def setArmAmore(self, param):
pass
def setLegAmore(self, param):
pass
+3
View File
@@ -153,3 +153,6 @@ class Mech(object):
def set_item(self, key: tuple, item: Item): def set_item(self, key: tuple, item: Item):
pass pass
def strike(self, area_name, param):
pass
+57 -1
View File
@@ -1,9 +1,30 @@
import unittest import unittest
from tokenize import group
from MechFabrik import MechFabrik from MechFabrik import MechFabrik
from MechFabrik.bauteile import InnerStructure, Gyroskope, AreaNames, Area, Cockpit, Item, ItemTypes, Reaktor, Mech from MechFabrik.bauteile import InnerStructure, Gyroskope, AreaNames, Area, Cockpit, Item, ItemTypes, Reaktor, Mech
INNER_AMOR = {
AreaNames.HEAD: 3,
AreaNames.MIDDLE_TORSO: 6,
AreaNames.LEFT_TORSO: 5,
AreaNames.RIGHT_TORSO: 5,
AreaNames.LEFT_ARM: 3,
AreaNames.RIGHT_ARM: 3,
AreaNames.LEFT_LEG: 4,
AreaNames.RIGHT_LEG: 4,
}
OUTER_AMOR = {
AreaNames.HEAD: 6,
AreaNames.MIDDLE_TORSO: 9,
AreaNames.LEFT_TORSO: 8,
AreaNames.RIGHT_TORSO: 8,
AreaNames.LEFT_ARM: 5,
AreaNames.RIGHT_ARM: 5,
AreaNames.LEFT_LEG: 7,
AreaNames.RIGHT_LEG: 7,
}
class TestMechBau(unittest.TestCase): class TestMechBau(unittest.TestCase):
@@ -18,6 +39,12 @@ class TestMechBau(unittest.TestCase):
self.assertIsInstance(mech.movement_rate, int) self.assertIsInstance(mech.movement_rate, int)
self.assertEqual(8, mech.movement_rate) self.assertEqual(8, mech.movement_rate)
for ara_name in AreaNames:
area = mech.inner_structure.areas.get(ara_name)
should_inner_amor = INNER_AMOR[ara_name]
self.assertEqual(should_inner_amor, area.inner_armor)
self.assertEqual(0, area.armor)
self.assertIsInstance(mech.inner_structure, InnerStructure) self.assertIsInstance(mech.inner_structure, InnerStructure)
self.assertIsInstance(mech.inner_structure.tonnage, float) self.assertIsInstance(mech.inner_structure.tonnage, float)
self.assertEqual(2.0, mech.inner_structure.tonnage) self.assertEqual(2.0, mech.inner_structure.tonnage)
@@ -137,3 +164,32 @@ class TestMechBau(unittest.TestCase):
for (key, item_type) in should_list: for (key, item_type) in should_list:
self.assertIsInstance(area.items[key], Item) self.assertIsInstance(area.items[key], Item)
self.assertEqual(area.items[key].type, item_type) self.assertEqual(area.items[key].type, item_type)
class TextMechAmor(unittest.TestCase):
def setUp(self):
fabrik = MechFabrik('Heuschrecke', 20.0, 8)
fabrik.setHeadAmore(OUTER_AMOR[AreaNames.HEAD])
fabrik.setMidleTorsoAmore(OUTER_AMOR[AreaNames.MIDDLE_TORSO])
fabrik.setSideTorsoAmore(OUTER_AMOR[AreaNames.LEFT_TORSO])
fabrik.setArmAmore(OUTER_AMOR[AreaNames.LEFT_ARM])
fabrik.setLegAmore(OUTER_AMOR[AreaNames.LEFT_LEG])
self.mech = fabrik.auslieferung()
def test_build(self):
for area_name in AreaNames:
area = self.mech.inner_structure.areas.get(area_name)
should_outer_amor = OUTER_AMOR[area_name]
self.assertEqual(should_outer_amor, area.armor)
def test_process(self):
for area_name in AreaNames:
self.mech.strike(area_name, 3)
self.assertEqual(OUTER_AMOR[area_name] - 3, self.mech.inner_structure.areas.get(area_name).armor)
self.mech.strike(area_name, OUTER_AMOR[area_name] - 2)
self.assertEqual(0, self.mech.inner_structure.areas.get(area_name).armor)
self.assertEqual(2, self.mech.inner_structure.areas.get(area_name).inner_armor)