Tests: nutze richtige Rüstung in den einzelnen Zonen
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user