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)
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)
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)
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)
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)
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)
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)
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)
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)
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)