def test_multi_item_not_loaded(self): effect1_id = self.allocate_effect_id() effect2_id = self.allocate_effect_id() effect3_id = self.allocate_effect_id() effect4_id = self.allocate_effect_id() item = ModuleHigh(self.allocate_type_id()) self.fit.modules.high.append(item) # Verification item._set_effects_modes({ effect1_id: EffectMode.full_compliance, effect2_id: EffectMode.state_compliance, effect3_id: EffectMode.force_run, effect4_id: EffectMode.force_stop}) # Cleanup self.assert_solsys_buffers_empty(self.fit.solar_system) self.assert_log_entries(0)
def test_multi_item_not_loaded(self): effect1_id = self.allocate_effect_id() effect2_id = self.allocate_effect_id() effect3_id = self.allocate_effect_id() effect4_id = self.allocate_effect_id() item = ModuleHigh(self.allocate_type_id()) self.fit.modules.high.append(item) # Verification item._set_effects_modes({ effect1_id: EffectMode.full_compliance, effect2_id: EffectMode.state_compliance, effect3_id: EffectMode.force_run, effect4_id: EffectMode.force_stop }) # Cleanup self.assert_solsys_buffers_empty(self.fit.solar_system) self.assert_log_entries(0)
def test_multi(self): src_attr_fullcomp = self.mkattr() tgt_attr_fullcomp = self.mkattr() modifier_fullcomp = self.mkmod( affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_fullcomp.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_fullcomp.id) effect_fullcomp = self.mkeffect( category_id=EffectCategoryId.active, modifiers=[modifier_fullcomp]) src_attr_statecomp = self.mkattr() tgt_attr_statecomp = self.mkattr() modifier_statecomp = self.mkmod( affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_statecomp.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_statecomp.id) effect_statecomp = self.mkeffect( category_id=EffectCategoryId.active, modifiers=[modifier_statecomp]) src_attr_forcerun = self.mkattr() tgt_attr_forcerun = self.mkattr() modifier_forcerun = self.mkmod( affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_forcerun.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_forcerun.id) effect_forcerun = self.mkeffect( category_id=EffectCategoryId.overload, modifiers=[modifier_forcerun]) src_attr_forcestop = self.mkattr() tgt_attr_forcestop = self.mkattr() modifier_forcestop = self.mkmod( affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_forcestop.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_forcestop.id) effect_forcestop = self.mkeffect( category_id=EffectCategoryId.passive, modifiers=[modifier_forcestop]) item = ModuleHigh( self.mktype( attrs={ tgt_attr_fullcomp.id: 10, src_attr_fullcomp.id: 2, tgt_attr_statecomp.id: 10, src_attr_statecomp.id: 2, tgt_attr_forcerun.id: 10, src_attr_forcerun.id: 2, tgt_attr_forcestop.id: 10, src_attr_forcestop.id: 2}, effects=( effect_fullcomp, effect_statecomp, effect_forcerun, effect_forcestop)).id, state=State.active) self.fit.modules.high.append(item) self.assertAlmostEqual(item.attrs[tgt_attr_fullcomp.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_statecomp.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_forcerun.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_forcestop.id], 12) # Action item._set_effects_modes({ effect_fullcomp.id: EffectMode.full_compliance, effect_statecomp.id: EffectMode.state_compliance, effect_forcerun.id: EffectMode.force_run, effect_forcestop.id: EffectMode.force_stop}) # Verification self.assertAlmostEqual(item.attrs[tgt_attr_fullcomp.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_statecomp.id], 12) self.assertAlmostEqual(item.attrs[tgt_attr_forcerun.id], 12) self.assertAlmostEqual(item.attrs[tgt_attr_forcestop.id], 10) # Cleanup self.assert_solsys_buffers_empty(self.fit.solar_system) self.assert_log_entries(0)
def test_multi(self): src_attr_fullcomp = self.mkattr() tgt_attr_fullcomp = self.mkattr() modifier_fullcomp = self.mkmod(affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_fullcomp.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_fullcomp.id) effect_fullcomp = self.mkeffect(category_id=EffectCategoryId.active, modifiers=[modifier_fullcomp]) src_attr_statecomp = self.mkattr() tgt_attr_statecomp = self.mkattr() modifier_statecomp = self.mkmod(affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_statecomp.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_statecomp.id) effect_statecomp = self.mkeffect(category_id=EffectCategoryId.active, modifiers=[modifier_statecomp]) src_attr_forcerun = self.mkattr() tgt_attr_forcerun = self.mkattr() modifier_forcerun = self.mkmod(affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_forcerun.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_forcerun.id) effect_forcerun = self.mkeffect(category_id=EffectCategoryId.overload, modifiers=[modifier_forcerun]) src_attr_forcestop = self.mkattr() tgt_attr_forcestop = self.mkattr() modifier_forcestop = self.mkmod(affectee_filter=ModAffecteeFilter.item, affectee_domain=ModDomain.self, affectee_attr_id=tgt_attr_forcestop.id, operator=ModOperator.mod_add, affector_attr_id=src_attr_forcestop.id) effect_forcestop = self.mkeffect(category_id=EffectCategoryId.passive, modifiers=[modifier_forcestop]) item = ModuleHigh(self.mktype( attrs={ tgt_attr_fullcomp.id: 10, src_attr_fullcomp.id: 2, tgt_attr_statecomp.id: 10, src_attr_statecomp.id: 2, tgt_attr_forcerun.id: 10, src_attr_forcerun.id: 2, tgt_attr_forcestop.id: 10, src_attr_forcestop.id: 2 }, effects=(effect_fullcomp, effect_statecomp, effect_forcerun, effect_forcestop)).id, state=State.active) self.fit.modules.high.append(item) self.assertAlmostEqual(item.attrs[tgt_attr_fullcomp.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_statecomp.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_forcerun.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_forcestop.id], 12) # Action item._set_effects_modes({ effect_fullcomp.id: EffectMode.full_compliance, effect_statecomp.id: EffectMode.state_compliance, effect_forcerun.id: EffectMode.force_run, effect_forcestop.id: EffectMode.force_stop }) # Verification self.assertAlmostEqual(item.attrs[tgt_attr_fullcomp.id], 10) self.assertAlmostEqual(item.attrs[tgt_attr_statecomp.id], 12) self.assertAlmostEqual(item.attrs[tgt_attr_forcerun.id], 12) self.assertAlmostEqual(item.attrs[tgt_attr_forcestop.id], 10) # Cleanup self.assert_solsys_buffers_empty(self.fit.solar_system) self.assert_log_entries(0)