Exemple #1
0
 def test_stance_fail_not_loaded(self):
     item = Stance(self.allocate_type_id())
     self.fit.stance = item
     # Action
     error = self.get_error(item, Restriction.loaded_item)
     # Verification
     self.assertIsNotNone(error)
     # Cleanup
     self.assert_solsys_buffers_empty(self.fit.solar_system)
     self.assert_log_entries(0)
Exemple #2
0
 def test_stance_pass(self):
     item = Stance(self.mktype(group_id=TypeGroupId.ship_modifier).id)
     self.fit.stance = item
     # Action
     error = self.get_error(item, Restriction.item_class)
     # Verification
     self.assertIsNone(error)
     # Cleanup
     self.assert_solsys_buffers_empty(self.fit.solar_system)
     self.assert_log_entries(0)
Exemple #3
0
 def test_stance_pass_loaded(self):
     item = Stance(self.mktype().id)
     self.fit.stance = item
     # Action
     error = self.get_error(item, Restriction.loaded_item)
     # Verification
     self.assertIsNone(error)
     # Cleanup
     self.assert_solsys_buffers_empty(self.fit.solar_system)
     self.assert_log_entries(0)
Exemple #4
0
 def test_stance(self):
     stance = Stance(self.make_item_types())
     self.fit.stance = stance
     self.assertAlmostEqual(stance.attrs[self.tgt_attr_id], 18)
     # Action
     self.fit.solar_system.source = 'src2'
     # Verification
     self.assertAlmostEqual(stance.attrs[self.tgt_attr_id], 14)
     # Cleanup
     self.assert_solsys_buffers_empty(self.fit.solar_system)
     self.assert_log_entries(0)
Exemple #5
0
 def test_detached_module_none_to_non_charge(self):
     module = ModuleHigh(self.mktype().id, state=State.active, charge=None)
     non_charge = Stance(self.mktype().id)
     # Action
     with self.assertRaises(TypeError):
         module.charge = non_charge
     # Verification
     self.assertIsNone(module.charge)
     # Cleanup
     self.assert_item_buffers_empty(module)
     self.assert_item_buffers_empty(non_charge)
     self.assert_log_entries(0)
Exemple #6
0
 def test_stance_fail_group_other(self):
     item = Stance(self.mktype(group_id=1008).id)
     self.fit.stance = item
     # Action
     error = self.get_error(item, Restriction.item_class)
     # Verification
     self.assertIsNotNone(error)
     self.assertEqual(error.item_class, Stance)
     self.assertCountEqual(error.allowed_classes, [])
     # Cleanup
     self.assert_solsys_buffers_empty(self.fit.solar_system)
     self.assert_log_entries(0)
Exemple #7
0
 def test_none_to_item_type_failure(self):
     fit = Fit()
     item = Stance(self.mktype().id)
     # Action
     with self.assertRaises(TypeError):
         fit.ship = item
     # Verification
     self.assertIsNone(fit.ship)
     # Check that item which failed to be added can be assigned to other
     # field
     fit.stance = item
     # Cleanup
     self.assert_item_buffers_empty(item)
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
Exemple #8
0
 def test_item_to_item_type_failure(self):
     fit = Fit()
     item1 = Ship(self.mktype().id)
     item2 = Stance(self.mktype().id)
     fit.ship = item1
     # Action
     with self.assertRaises(TypeError):
         fit.ship = item2
     # Verification
     self.assertIs(fit.ship, item1)
     fit.stance = item2
     # Cleanup
     self.assert_item_buffers_empty(item1)
     self.assert_item_buffers_empty(item2)
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
Exemple #9
0
 def test_fit_none_to_non_charge(self):
     fit = Fit()
     module = ModuleHigh(self.mktype().id, state=State.active, charge=None)
     non_charge = Stance(self.mktype().id)
     fit.modules.high.append(module)
     # Action
     with self.assertRaises(TypeError):
         module.charge = non_charge
     # Verification
     self.assertIsNone(module.charge)
     fit.stance = non_charge
     # Cleanup
     self.assert_item_buffers_empty(module)
     self.assert_item_buffers_empty(non_charge)
     self.assert_solsys_buffers_empty(fit.solar_system)
     self.assert_log_entries(0)
Exemple #10
0
 def test_detached_module_charge_to_non_charge(self):
     fit_other = Fit()
     module = ModuleHigh(self.mktype().id, state=State.active, charge=None)
     charge = Charge(self.mktype().id)
     non_charge = Stance(self.mktype().id)
     module.charge = charge
     # Action
     with self.assertRaises(TypeError):
         module.charge = non_charge
     # Verification
     self.assertIs(module.charge, charge)
     fit_other.stance = non_charge
     # Cleanup
     self.assert_item_buffers_empty(module)
     self.assert_item_buffers_empty(charge)
     self.assert_item_buffers_empty(non_charge)
     self.assert_solsys_buffers_empty(fit_other.solar_system)
     self.assert_log_entries(0)