From 0dce4116ca7b0cc1755d858c820e3351802fb250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20L=C3=BCcke?= Date: Wed, 3 Sep 2025 16:56:17 +0200 Subject: [PATCH] Tests: splitte Tests --- tests/test_mech/__init__.py | 40 +++++++++++++++++++++++++++++++++ tests/test_mech_bau.py | 45 ++----------------------------------- tests/test_mech_process.py | 15 +++++++++++++ 3 files changed, 57 insertions(+), 43 deletions(-) create mode 100644 tests/test_mech/__init__.py create mode 100755 tests/test_mech_process.py diff --git a/tests/test_mech/__init__.py b/tests/test_mech/__init__.py new file mode 100644 index 0000000..1cacc84 --- /dev/null +++ b/tests/test_mech/__init__.py @@ -0,0 +1,40 @@ +import unittest + +from MechFabrik import MechFabrik +from MechFabrik.bauteile import AreaNames + +INNER_ARMOR = { + 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_ARMOR = { + 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 AbstractTestMechAmor(unittest.TestCase): + + def setUp(self): + fabrik = MechFabrik('Heuschrecke', 20.0, 8) + + fabrik.set_head_armor(OUTER_ARMOR[AreaNames.HEAD]) + fabrik.set_middle_torso_armor(OUTER_ARMOR[AreaNames.MIDDLE_TORSO]) + fabrik.set_side_torso_armor(OUTER_ARMOR[AreaNames.LEFT_TORSO]) + fabrik.set_arm_armor(OUTER_ARMOR[AreaNames.LEFT_ARM]) + fabrik.set_leg_armor(OUTER_ARMOR[AreaNames.LEFT_LEG]) + + self.mech = fabrik.auslieferung() diff --git a/tests/test_mech_bau.py b/tests/test_mech_bau.py index 20ef4f3..86c16f8 100755 --- a/tests/test_mech_bau.py +++ b/tests/test_mech_bau.py @@ -2,28 +2,7 @@ import unittest from MechFabrik import MechFabrik from MechFabrik.bauteile import InnerStructure, Gyroskope, AreaNames, Area, Cockpit, Item, ItemTypes, Reaktor, Mech - -INNER_ARMOR = { - 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_ARMOR = { - 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, - } +from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR class TestMechBau(unittest.TestCase): @@ -166,30 +145,10 @@ class TestMechBau(unittest.TestCase): self.assertEqual(area.items[key].type, item_type) -class TextMechAmor(unittest.TestCase): - - def setUp(self): - fabrik = MechFabrik('Heuschrecke', 20.0, 8) - - fabrik.set_head_armor(OUTER_ARMOR[AreaNames.HEAD]) - fabrik.set_middle_torso_armor(OUTER_ARMOR[AreaNames.MIDDLE_TORSO]) - fabrik.set_side_torso_armor(OUTER_ARMOR[AreaNames.LEFT_TORSO]) - fabrik.set_arm_armor(OUTER_ARMOR[AreaNames.LEFT_ARM]) - fabrik.set_leg_armor(OUTER_ARMOR[AreaNames.LEFT_LEG]) - - self.mech = fabrik.auslieferung() +class TestMechAmor(AbstractTestMechAmor): def test_build(self): - for area_name in AreaNames: area = self.mech.inner_structure.areas.get(area_name) should_outer_armor = OUTER_ARMOR[area_name] self.assertEqual(should_outer_armor, area.armor) - - 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) - 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) diff --git a/tests/test_mech_process.py b/tests/test_mech_process.py new file mode 100755 index 0000000..9e94812 --- /dev/null +++ b/tests/test_mech_process.py @@ -0,0 +1,15 @@ +import unittest + +from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR +from MechFabrik.bauteile import AreaNames + + +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) + 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)