Exemple #1
0
 def test_pass_original_attribs(self):
     # Make sure original item attributes are used
     charge_item = self.ch.type_(type_id=1,
                                 attributes={Attribute.charge_size: 2})
     charge_holder = Mock(state=State.offline,
                          item=charge_item,
                          _domain=None,
                          spec_set=Charge(1))
     charge_holder.attributes = {Attribute.charge_size: 1}
     container_item = self.ch.type_(type_id=2,
                                    attributes={Attribute.charge_size: 2})
     container_holder = Mock(state=State.offline,
                             item=container_item,
                             _domain=Domain.ship,
                             spec_set=ModuleHigh(1))
     container_holder.attributes = {Attribute.charge_size: 3}
     container_holder.charge = charge_holder
     charge_holder.container = container_holder
     self.track_holder(container_holder)
     self.track_holder(charge_holder)
     restriction_error1 = self.get_restriction_error(
         container_holder, Restriction.charge_size)
     self.assertIsNone(restriction_error1)
     restriction_error2 = self.get_restriction_error(
         charge_holder, Restriction.charge_size)
     self.assertIsNone(restriction_error2)
     self.untrack_holder(container_holder)
     self.untrack_holder(charge_holder)
     self.assertEqual(len(self.log), 0)
     self.assert_restriction_buffers_empty()
Exemple #2
0
 def test_fail_charge_no_attrib(self):
     charge_item = self.ch.type_(type_id=1, attributes={})
     charge_holder = Mock(state=State.offline,
                          item=charge_item,
                          _domain=None,
                          spec_set=Charge(1))
     container_item = self.ch.type_(type_id=2,
                                    attributes={Attribute.charge_size: 3})
     container_holder = Mock(state=State.offline,
                             item=container_item,
                             _domain=Domain.ship,
                             spec_set=ModuleHigh(1))
     container_holder.charge = charge_holder
     charge_holder.container = container_holder
     self.track_holder(container_holder)
     self.track_holder(charge_holder)
     restriction_error1 = self.get_restriction_error(
         container_holder, Restriction.charge_size)
     self.assertIsNone(restriction_error1)
     restriction_error2 = self.get_restriction_error(
         charge_holder, Restriction.charge_size)
     self.assertIsNotNone(restriction_error2)
     self.assertEqual(restriction_error2.allowed_size, 3)
     self.assertEqual(restriction_error2.holder_size, None)
     self.untrack_holder(container_holder)
     self.untrack_holder(charge_holder)
     self.assertEqual(len(self.log), 0)
     self.assert_restriction_buffers_empty()
Exemple #3
0
 def test_fail_group3(self):
     charge_item = self.ch.type_(type_id=1, group=1008)
     charge_holder = Mock(state=State.offline,
                          item=charge_item,
                          _domain=None,
                          spec_set=Charge(1))
     container_item = self.ch.type_(
         type_id=2, attributes={Attribute.charge_group_3: 3})
     container_holder = Mock(state=State.offline,
                             item=container_item,
                             _domain=Domain.ship,
                             spec_set=ModuleHigh(1))
     container_holder.charge = charge_holder
     charge_holder.container = container_holder
     self.track_holder(container_holder)
     self.track_holder(charge_holder)
     restriction_error1 = self.get_restriction_error(
         container_holder, Restriction.charge_group)
     self.assertIsNone(restriction_error1)
     restriction_error2 = self.get_restriction_error(
         charge_holder, Restriction.charge_group)
     self.assertIsNotNone(restriction_error2)
     self.assertEqual(len(restriction_error2.allowed_groups), 1)
     self.assertIn(3, restriction_error2.allowed_groups)
     self.assertEqual(restriction_error2.holder_group, 1008)
     self.untrack_holder(container_holder)
     self.untrack_holder(charge_holder)
     self.assertEqual(len(self.log), 0)
     self.assert_restriction_buffers_empty()
Exemple #4
0
 def test_pass_multiple(self):
     charge_item = self.ch.type_(type_id=1, group=1008)
     charge_holder = Mock(state=State.offline,
                          item=charge_item,
                          _domain=None,
                          spec_set=Charge(1))
     container_item = self.ch.type_(type_id=2,
                                    attributes={
                                        Attribute.charge_group_3: 56,
                                        Attribute.charge_group_5: 1008
                                    })
     container_holder = Mock(state=State.offline,
                             item=container_item,
                             _domain=Domain.ship,
                             spec_set=ModuleHigh(1))
     container_holder.charge = charge_holder
     charge_holder.container = container_holder
     self.track_holder(container_holder)
     self.track_holder(charge_holder)
     restriction_error1 = self.get_restriction_error(
         container_holder, Restriction.charge_group)
     self.assertIsNone(restriction_error1)
     restriction_error2 = self.get_restriction_error(
         charge_holder, Restriction.charge_group)
     self.assertIsNone(restriction_error2)
     self.untrack_holder(container_holder)
     self.untrack_holder(charge_holder)
     self.assertEqual(len(self.log), 0)
     self.assert_restriction_buffers_empty()
Exemple #5
0
 def setUp(self):
     super().setUp()
     self.holder = Module(type_id=None)
     self.holder.attributes = {}
     self.charge = Charge(type_id=None)
     self.charge.attributes = {}
     self.holder.charge = self.charge
Exemple #6
0
 def test_pass_no_volume(self):
     charge_item = self.ch.type_(type_id=1, attributes={})
     charge_holder = Mock(state=State.offline,
                          item=charge_item,
                          _domain=None,
                          spec_set=Charge(1))
     container_item = self.ch.type_(type_id=2,
                                    attributes={Attribute.volume: 3})
     container_holder = Mock(state=State.offline,
                             item=container_item,
                             _domain=Domain.ship,
                             spec_set=Module(1))
     container_holder.charge = charge_holder
     charge_holder.container = container_holder
     self.track_holder(container_holder)
     self.track_holder(charge_holder)
     restriction_error1 = self.get_restriction_error(
         container_holder, Restriction.charge_volume)
     self.assertIsNone(restriction_error1)
     restriction_error2 = self.get_restriction_error(
         charge_holder, Restriction.charge_volume)
     self.assertIsNone(restriction_error2)
     self.untrack_holder(container_holder)
     self.untrack_holder(charge_holder)
     self.assertEqual(len(self.log), 0)
     self.assert_restriction_buffers_empty()
Exemple #7
0
 def test_fail_greater(self):
     charge_item = self.ch.type_(type_id=1,
                                 attributes={Attribute.volume: 2})
     charge_holder = Mock(state=State.offline,
                          item=charge_item,
                          _domain=None,
                          spec_set=Charge(1))
     container_item = self.ch.type_(type_id=2,
                                    attributes={Attribute.capacity: 1})
     container_holder = Mock(state=State.offline,
                             item=container_item,
                             _domain=Domain.ship,
                             spec_set=Module(1))
     container_holder.charge = charge_holder
     charge_holder.container = container_holder
     self.track_holder(container_holder)
     self.track_holder(charge_holder)
     restriction_error1 = self.get_restriction_error(
         container_holder, Restriction.charge_volume)
     self.assertIsNone(restriction_error1)
     restriction_error2 = self.get_restriction_error(
         charge_holder, Restriction.charge_volume)
     self.assertIsNotNone(restriction_error2)
     self.assertEqual(restriction_error2.max_allowed_volume, 1)
     self.assertEqual(restriction_error2.holder_volume, 2)
     self.untrack_holder(container_holder)
     self.untrack_holder(charge_holder)
     self.assertEqual(len(self.log), 0)
     self.assert_restriction_buffers_empty()