예제 #1
0
파일: test_volley.py 프로젝트: pyfa-org/eos
 def test_charge_attr_em_absent(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.dmg_mult: 2.5,
                 AttrId.capacity: 2.0,
                 self.cycle_attr.id: 500,
                 AttrId.charge_rate: 1.0,
                 AttrId.reload_time: 5000},
             effects=[self.effect],
             default_effect=self.effect).id,
         state=State.active)
     item.charge = Charge(self.mktype(attrs={
         AttrId.volume: 0.2,
         AttrId.therm_dmg: 6.3,
         AttrId.kin_dmg: 7.4,
         AttrId.expl_dmg: 8.5}).id)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 15.75)
     self.assertAlmostEqual(volley.kinetic, 18.5)
     self.assertAlmostEqual(volley.explosive, 21.25)
     self.assertAlmostEqual(volley.total, 55.5)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #2
0
파일: test_volley.py 프로젝트: pyfa-org/eos
 def test_charge_attr_em_absent(self):
     fit = Fit()
     item = ModuleHigh(self.mktype(attrs={
         AttrId.capacity: 60.0,
         self.cycle_attr.id: 5000,
         AttrId.charge_rate: 1.0,
         AttrId.reload_time: 10000,
         AttrId.module_reactivation_delay: 120000
     },
                                   effects=[self.effect_item],
                                   default_effect=self.effect_item).id,
                       state=State.active)
     item.charge = Charge(
         self.mktype(attrs={
             AttrId.volume: 30.0,
             AttrId.therm_dmg: 6300,
             AttrId.kin_dmg: 7400,
             AttrId.expl_dmg: 8500
         },
                     effects=[self.effect_charge],
                     default_effect=self.effect_charge).id)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 6300)
     self.assertAlmostEqual(volley.kinetic, 7400)
     self.assertAlmostEqual(volley.explosive, 8500)
     self.assertAlmostEqual(volley.total, 22200)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #3
0
파일: test_volley.py 프로젝트: pyfa-org/eos
 def test_charge_not_loaded(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.dmg_mult: 2.5,
                 AttrId.capacity: 2.0,
                 self.cycle_attr.id: 500,
                 AttrId.charge_rate: 1.0,
                 AttrId.reload_time: 5000},
             effects=[self.effect],
             default_effect=self.effect).id,
         state=State.active)
     item.charge = Charge(self.allocate_type_id())
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #4
0
파일: test_volley.py 프로젝트: DarkFenX/eos
 def test_effective_attr_single_expl_zero(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.dmg_mult: 2.5,
                 AttrId.capacity: 2.0,
                 self.cycle_attr.id: 500,
                 AttrId.charge_rate: 1.0,
                 AttrId.reload_time: 5000},
             effects=[self.effect], default_effect=self.effect).id,
         state=State.active)
     item.charge = Charge(self.mktype(
         attrs={AttrId.volume: 0.2, AttrId.expl_dmg: 0}).id)
     fit.modules.high.append(item)
     # Verification
     profile = ResistProfile(0.2, 0.2, 0.8, 1)
     volley = item.get_volley(tgt_resists=profile)
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #5
0
파일: test_volley.py 프로젝트: DarkFenX/eos
 def test_charge_attr_em_absent(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.capacity: 60.0,
                 self.cycle_attr.id: 5000,
                 AttrId.charge_rate: 1.0,
                 AttrId.reload_time: 10000,
                 AttrId.module_reactivation_delay: 120000},
             effects=[self.effect_item],
             default_effect=self.effect_item).id,
         state=State.active)
     item.charge = Charge(self.mktype(
         attrs={
             AttrId.volume: 30.0,
             AttrId.therm_dmg: 6300,
             AttrId.kin_dmg: 7400,
             AttrId.expl_dmg: 8500},
         effects=[self.effect_charge],
         default_effect=self.effect_charge).id)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 6300)
     self.assertAlmostEqual(volley.kinetic, 7400)
     self.assertAlmostEqual(volley.explosive, 8500)
     self.assertAlmostEqual(volley.total, 22200)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #6
0
파일: test_volley.py 프로젝트: DarkFenX/eos
 def test_generic(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.capacity: 2.0,
                 self.cycle_attr.id: 2000,
                 AttrId.charge_rate: 1.0,
                 AttrId.reload_time: 10000},
             effects=[self.effect_item],
             default_effect=self.effect_item).id,
         state=State.active)
     item.charge = Charge(self.mktype(
         attrs={
             AttrId.volume: 0.1,
             AttrId.em_dmg: 5.2,
             AttrId.therm_dmg: 6.3,
             AttrId.kin_dmg: 7.4,
             AttrId.expl_dmg: 8.5},
         effects=[self.effect_charge],
         default_effect=self.effect_charge).id)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 5.2)
     self.assertAlmostEqual(volley.thermal, 6.3)
     self.assertAlmostEqual(volley.kinetic, 7.4)
     self.assertAlmostEqual(volley.explosive, 8.5)
     self.assertAlmostEqual(volley.total, 27.4)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #7
0
파일: test_volley.py 프로젝트: DarkFenX/eos
 def test_effect_disabled(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.em_dmg: 52,
                 AttrId.therm_dmg: 63,
                 AttrId.kin_dmg: 74,
                 AttrId.expl_dmg: 85,
                 self.cycle_attr.id: 5000},
             effects=[self.effect],
             default_effect=self.effect).id,
         state=State.active)
     item.set_effect_mode(self.effect.id, EffectMode.force_stop)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #8
0
파일: test_volley.py 프로젝트: poundjd/eos
 def test_effective_attr_single_expl_zero(self):
     fit = Fit()
     item = ModuleHigh(self.mktype(attrs={
         AttrId.dmg_mult: 2.5,
         AttrId.capacity: 2.0,
         self.cycle_attr.id: 500,
         AttrId.charge_rate: 1.0,
         AttrId.reload_time: 5000
     },
                                   effects=[self.effect],
                                   default_effect=self.effect).id,
                       state=State.active)
     item.charge = Charge(
         self.mktype(attrs={
             AttrId.volume: 0.2,
             AttrId.expl_dmg: 0
         }).id)
     fit.modules.high.append(item)
     # Verification
     profile = ResistProfile(0.2, 0.2, 0.8, 1)
     volley = item.get_volley(tgt_resists=profile)
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #9
0
 def test_generic(self):
     fit = Fit()
     item = ModuleHigh(self.mktype(attrs={
         AttrId.capacity: 2.0,
         self.cycle_attr.id: 2000,
         AttrId.charge_rate: 1.0,
         AttrId.reload_time: 10000
     },
                                   effects=[self.effect_item],
                                   default_effect=self.effect_item).id,
                       state=State.active)
     item.charge = Charge(
         self.mktype(attrs={
             AttrId.volume: 0.1,
             AttrId.em_dmg: 5.2,
             AttrId.therm_dmg: 6.3,
             AttrId.kin_dmg: 7.4,
             AttrId.expl_dmg: 8.5
         },
                     effects=[self.effect_charge],
                     default_effect=self.effect_charge).id)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 5.2)
     self.assertAlmostEqual(volley.thermal, 6.3)
     self.assertAlmostEqual(volley.kinetic, 7.4)
     self.assertAlmostEqual(volley.explosive, 8.5)
     self.assertAlmostEqual(volley.total, 27.4)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #10
0
파일: test_volley.py 프로젝트: DarkFenX/eos
 def test_total_item_not_loaded(self):
     fit = Fit()
     item = ModuleHigh(self.allocate_type_id(), state=State.active)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #11
0
파일: test_volley.py 프로젝트: poundjd/eos
 def test_total_item_not_loaded(self):
     fit = Fit()
     item = ModuleHigh(self.allocate_type_id(), state=State.active)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #12
0
파일: test_volley.py 프로젝트: pyfa-org/eos
 def test_gallente(self):
     fit = Fit()
     item = ModuleHigh(self.mktype(attrs={
         AttrId.therm_dmg: 63000,
         self.cycle_attr.id: 250000
     },
                                   effects=[self.effect_gallente],
                                   default_effect=self.effect_gallente).id,
                       state=State.active)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 63000)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 63000)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #13
0
파일: test_volley.py 프로젝트: DarkFenX/eos
 def test_caldari(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.kin_dmg: 74000,
                 self.cycle_attr.id: 250000},
             effects=[self.effect_caldari],
             default_effect=self.effect_caldari).id,
         state=State.active)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 74000)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 74000)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #14
0
 def test_attr_therm_absent(self):
     fit = Fit()
     item = ModuleHigh(self.mktype(attrs={
         AttrId.em_dmg: 52,
         AttrId.kin_dmg: 74,
         AttrId.expl_dmg: 85,
         self.cycle_attr.id: 5000
     },
                                   effects=[self.effect],
                                   default_effect=self.effect).id,
                       state=State.active)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 52)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 74)
     self.assertAlmostEqual(volley.explosive, 85)
     self.assertAlmostEqual(volley.total, 211)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #15
0
파일: test_volley.py 프로젝트: DarkFenX/eos
 def test_attr_expl_absent(self):
     fit = Fit()
     item = ModuleHigh(
         self.mktype(
             attrs={
                 AttrId.em_dmg: 52,
                 AttrId.therm_dmg: 63,
                 AttrId.kin_dmg: 74,
                 self.cycle_attr.id: 5000},
             effects=[self.effect],
             default_effect=self.effect).id,
         state=State.active)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 52)
     self.assertAlmostEqual(volley.thermal, 63)
     self.assertAlmostEqual(volley.kinetic, 74)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 189)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
예제 #16
0
파일: test_volley.py 프로젝트: pyfa-org/eos
 def test_effect_disabled(self):
     fit = Fit()
     item = ModuleHigh(self.mktype(attrs={
         AttrId.em_dmg: 52000,
         AttrId.therm_dmg: 63000,
         AttrId.kin_dmg: 74000,
         AttrId.expl_dmg: 85000,
         self.cycle_attr.id: 250000
     },
                                   effects=[self.effect_amarr],
                                   default_effect=self.effect_amarr).id,
                       state=State.active)
     item.set_effect_mode(self.effect_amarr.id, EffectMode.force_stop)
     fit.modules.high.append(item)
     # Verification
     volley = item.get_volley()
     self.assertAlmostEqual(volley.em, 0)
     self.assertAlmostEqual(volley.thermal, 0)
     self.assertAlmostEqual(volley.kinetic, 0)
     self.assertAlmostEqual(volley.explosive, 0)
     self.assertAlmostEqual(volley.total, 0)
     # Cleanup
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)