示例#1
0
 def test_dmg_profile_rah_to_default(self):
     # Setup
     ship = Ship(self.make_ship_type((0.5, 0.65, 0.75, 0.9)).id)
     self.fit.ship = ship
     rah = ModuleLow(
         self.make_rah_type((0.85, 0.85, 0.85, 0.85), 6, 1000).id,
         state=State.active)
     self.fit.modules.low.equip(rah)
     self.fit.rah_incoming_dmg = DmgProfile(1, 0, 0, 0)
     # Force resonance calculation
     self.assertAlmostEqual(rah.attrs[self.armor_em.id], 0.4)
     self.assertAlmostEqual(rah.attrs[self.armor_therm.id], 1)
     self.assertAlmostEqual(rah.attrs[self.armor_kin.id], 1)
     self.assertAlmostEqual(rah.attrs[self.armor_expl.id], 1)
     self.assertAlmostEqual(ship.attrs[self.armor_em.id], 0.2)
     self.assertAlmostEqual(ship.attrs[self.armor_therm.id], 0.65)
     self.assertAlmostEqual(ship.attrs[self.armor_kin.id], 0.75)
     self.assertAlmostEqual(ship.attrs[self.armor_expl.id], 0.9)
     # Action
     self.fit.rah_incoming_dmg = None
     # Verification
     self.assertAlmostEqual(rah.attrs[self.armor_em.id], 1)
     self.assertAlmostEqual(rah.attrs[self.armor_therm.id], 0.925)
     self.assertAlmostEqual(rah.attrs[self.armor_kin.id], 0.82)
     self.assertAlmostEqual(rah.attrs[self.armor_expl.id], 0.655)
     self.assertAlmostEqual(ship.attrs[self.armor_em.id], 0.5)
     self.assertAlmostEqual(ship.attrs[self.armor_therm.id], 0.60125)
     self.assertAlmostEqual(ship.attrs[self.armor_kin.id], 0.615)
     self.assertAlmostEqual(ship.attrs[self.armor_expl.id], 0.5895)
     # Cleanup
     self.assert_solsys_buffers_empty(self.fit.solar_system)
     self.assert_log_entries(0)
示例#2
0
文件: test_ehp.py 项目: pyfa-org/eos
 def test_ship_absent(self):
     # Action
     ehp_stats = self.fit.stats.get_ehp(DmgProfile(1, 1, 1, 1))
     # Verification
     self.assertAlmostEqual(ehp_stats.hull, 0)
     self.assertAlmostEqual(ehp_stats.armor, 0)
     self.assertAlmostEqual(ehp_stats.shield, 0)
     self.assertAlmostEqual(ehp_stats.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(self.fit.solar_system)
     self.assert_log_entries(0)
示例#3
0
 def test_item_not_loaded(self):
     fit = Fit()
     item = Ship(self.allocate_type_id())
     fit.ship = item
     # Verification
     results = item.get_ehp(DmgProfile(1, 1, 1, 1))
     self.assertAlmostEqual(results.hull, 0)
     self.assertAlmostEqual(results.armor, 0)
     self.assertAlmostEqual(results.shield, 0)
     self.assertAlmostEqual(results.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)