Erste Version
This commit is contained in:
Executable
+71
@@ -0,0 +1,71 @@
|
||||
import unittest
|
||||
|
||||
from MechFabrik import MechFabrik
|
||||
from MechFabrik.bauteile import InnerStructure, Gyroskope, AreaNames, Area, Cockpit, Reaktor, Mech
|
||||
|
||||
|
||||
class TestMechBau(unittest.TestCase):
|
||||
|
||||
def test_simple(self):
|
||||
fabrik = MechFabrik('Heuschrecke', 20.0, 8)
|
||||
mech = fabrik.auslieferung()
|
||||
self.assertIsInstance(mech, Mech)
|
||||
self.assertIsInstance(mech.name, str)
|
||||
self.assertEqual('Heuschrecke', mech.name)
|
||||
self.assertIsInstance(mech.tonnage, float)
|
||||
self.assertEqual(20.0, mech.tonnage)
|
||||
self.assertIsInstance(mech.movement_rate, int)
|
||||
self.assertEqual(8, mech.movement_rate)
|
||||
|
||||
self.assertIsInstance(mech.inner_structure, InnerStructure)
|
||||
self.assertIsInstance(mech.inner_structure.tonnage, float)
|
||||
self.assertEqual(2.0, mech.inner_structure.tonnage)
|
||||
|
||||
self.assertIsInstance(mech.inner_structure.gyroskope, Gyroskope)
|
||||
self.assertIsInstance(mech.inner_structure.gyroskope.tonnage, float)
|
||||
self.assertEqual(2.0, mech.inner_structure.gyroskope.tonnage)
|
||||
self.assertIsInstance(mech.inner_structure.areas, dict)
|
||||
|
||||
area_head = mech.inner_structure.areas.get(AreaNames.HEAD)
|
||||
self.assertIsInstance(area_head, Area)
|
||||
cockpit = area_head.cockpit
|
||||
self.assertIsInstance(cockpit, Cockpit)
|
||||
self.assertIsInstance(cockpit.tonnage, float)
|
||||
self.assertEqual(3.0, cockpit.tonnage)
|
||||
|
||||
middle_torso = mech.inner_structure.areas.get(AreaNames.MIDDLE_TORSO)
|
||||
self.assertIsInstance(middle_torso, Area)
|
||||
reactor = middle_torso.reactor
|
||||
self.assertIsInstance(reactor, Reaktor)
|
||||
self.assertIsInstance(reactor.value, int)
|
||||
self.assertEqual(160, reactor.value)
|
||||
self.assertIsInstance(reactor.tonnage, float)
|
||||
self.assertEqual(6.0, reactor.tonnage)
|
||||
self.assertIsNone(middle_torso.parent)
|
||||
self.assertIsInstance(middle_torso.children, list)
|
||||
#right_torso = self._test_area(mech = mech, parent = middle_torso, index = AreaNames.RIGHT_TORSO)
|
||||
#left_torso = self._test_area(mech = mech, parent = middle_torso, index = AreaNames.LEFT_TORSO)
|
||||
#self.assertCountEqual([right_torso, left_torso], middle_torso.children)
|
||||
|
||||
#self._test_limbs(mech = mech, parent = right_torso, index = AreaNames.RIGHT_ARM)
|
||||
#self._test_limbs(mech = mech, parent = right_torso, index = AreaNames.RIGHT_LEG)
|
||||
#self._test_limbs(mech = mech, parent = left_torso, index = AreaNames.LEFT_ARM)
|
||||
#self._test_limbs(mech = mech, parent = left_torso, index = AreaNames.LEFT_LEG)
|
||||
|
||||
def _test_area(self, mech: Mech, parent: Area, index: AreaNames):
|
||||
side_torso = mech.inner_structure.areas.get(index)
|
||||
self.assertIsInstance(side_torso, Area)
|
||||
self.assertIsInstance(side_torso.parent, Area)
|
||||
self.assertEqual(parent, side_torso.parent)
|
||||
self.assertIsInstance(side_torso.children, list)
|
||||
self.assertCountEqual([0, 0], side_torso.children)
|
||||
return side_torso
|
||||
|
||||
def _test_limbs(self, mech: Mech, parent: Area, index: AreaNames):
|
||||
limbs_area = mech.inner_structure.areas.get(index)
|
||||
self.assertIsInstance(limbs_area, Area)
|
||||
self.assertIsInstance(limbs_area.parent, Area)
|
||||
self.assertEqual(parent, limbs_area.parent)
|
||||
self.assertIsInstance(limbs_area.children, list)
|
||||
self.assertCountEqual([], limbs_area.children)
|
||||
|
||||
Reference in New Issue
Block a user