Exemple #1
0
 def testFailExcess(self):
     # Check that excessive number of drones results
     # in failure, even when character is assigned to
     # fit and max number attribute is available
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     holder1.state = State.online
     fit.drones.add(holder1)
     holder2 = IndependentItem(item)
     holder2.state = State.online
     fit.drones.add(holder2)
     char = IndependentItem(self.ch.type_(typeId=2))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1, Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError1)
     self.assertEqual(restrictionError1.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError1.launchedDrones, 2)
     restrictionError2 = fit.getRestrictionError(holder2, Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError2)
     self.assertEqual(restrictionError2.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError2.launchedDrones, 2)
     fit.drones.remove(holder1)
     fit.drones.remove(holder2)
     self.assertEqual(len(self.log), 0)
     self.assertBuffersEmpty(fit)
Exemple #2
0
 def testFailExcessModified(self):
     # Check that modified attribute value is taken, not original
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     holder1.state = State.online
     fit.drones.add(holder1)
     holder2 = IndependentItem(item)
     holder2.state = State.online
     fit.drones.add(holder2)
     char = IndependentItem(self.ch.type_(typeId=2, attributes={Attribute.maxActiveDrones: 3}))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1, Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError1)
     self.assertEqual(restrictionError1.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError1.launchedDrones, 2)
     restrictionError2 = fit.getRestrictionError(holder2, Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError2)
     self.assertEqual(restrictionError2.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError2.launchedDrones, 2)
     fit.drones.remove(holder1)
     fit.drones.remove(holder2)
     self.assertEqual(len(self.log), 0)
     self.assertBuffersEmpty(fit)
Exemple #3
0
 def testFailNoAttr(self):
     # Check that any positive number of drones
     # results in error when character is assigned
     # to fit, but no restriction attribute available
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     holder1.state = State.online
     fit.drones.add(holder1)
     holder2 = IndependentItem(item)
     holder2.state = State.online
     fit.drones.add(holder2)
     char = IndependentItem(self.ch.type_(typeId=2))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1, Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError1)
     self.assertEqual(restrictionError1.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError1.launchedDrones, 2)
     restrictionError2 = fit.getRestrictionError(holder2, Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError2)
     self.assertEqual(restrictionError2.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError2.launchedDrones, 2)
     fit.drones.remove(holder1)
     fit.drones.remove(holder2)
     self.assertEqual(len(self.log), 0)
     self.assertBuffersEmpty(fit)
Exemple #4
0
 def testFailExcess(self):
     # Check that excessive number of drones results
     # in failure, even when character is assigned to
     # fit and max number attribute is available
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     holder1.state = State.online
     fit.drones.add(holder1)
     holder2 = IndependentItem(item)
     holder2.state = State.online
     fit.drones.add(holder2)
     char = IndependentItem(self.ch.type_(typeId=2))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1,
                                                 Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError1)
     self.assertEqual(restrictionError1.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError1.launchedDrones, 2)
     restrictionError2 = fit.getRestrictionError(holder2,
                                                 Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError2)
     self.assertEqual(restrictionError2.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError2.launchedDrones, 2)
     fit.drones.remove(holder1)
     fit.drones.remove(holder2)
     self.assertEqual(len(self.log), 0)
     self.assertRestrictionBuffersEmpty(fit)
Exemple #5
0
 def testFailExcessModified(self):
     # Check that modified attribute value is taken, not original
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     holder1.state = State.online
     fit.drones.add(holder1)
     holder2 = IndependentItem(item)
     holder2.state = State.online
     fit.drones.add(holder2)
     char = IndependentItem(
         self.ch.type_(typeId=2, attributes={Attribute.maxActiveDrones: 3}))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1,
                                                 Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError1)
     self.assertEqual(restrictionError1.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError1.launchedDrones, 2)
     restrictionError2 = fit.getRestrictionError(holder2,
                                                 Restriction.launchedDrone)
     self.assertIsNotNone(restrictionError2)
     self.assertEqual(restrictionError2.maxLaunchedDrones, 1)
     self.assertEqual(restrictionError2.launchedDrones, 2)
     fit.drones.remove(holder1)
     fit.drones.remove(holder2)
     self.assertEqual(len(self.log), 0)
     self.assertRestrictionBuffersEmpty(fit)
Exemple #6
0
 def testPassState(self):
     # Check excessive number of drones, which are
     # not 'launched'
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     fit.drones.append(holder1)
     holder2 = IndependentItem(item)
     fit.drones.append(holder2)
     char = IndependentItem(self.ch.type_(typeId=2))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1, Restriction.launchedDrone)
     self.assertIsNone(restrictionError1)
     restrictionError2 = fit.getRestrictionError(holder2, Restriction.launchedDrone)
     self.assertIsNone(restrictionError2)
     fit.drones.remove(holder1)
     fit.drones.remove(holder2)
     self.assertBuffersEmpty(fit)
Exemple #7
0
 def testPassNonDrone(self):
     # Check excessive number of non-drone items
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     holder1.state = State.online
     fit.items.add(holder1)
     holder2 = IndependentItem(item)
     holder2.state = State.online
     fit.items.add(holder2)
     char = IndependentItem(self.ch.type_(typeId=2))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1, Restriction.launchedDrone)
     self.assertIsNone(restrictionError1)
     restrictionError2 = fit.getRestrictionError(holder2, Restriction.launchedDrone)
     self.assertIsNone(restrictionError2)
     fit.items.remove(holder1)
     fit.items.remove(holder2)
     self.assertEqual(len(self.log), 0)
     self.assertBuffersEmpty(fit)
Exemple #8
0
 def testPassState(self):
     # Check excessive number of drones, which are
     # not 'launched'
     fit = Fit()
     item = self.ch.type_(typeId=1)
     holder1 = IndependentItem(item)
     fit.drones.add(holder1)
     holder2 = IndependentItem(item)
     fit.drones.add(holder2)
     char = IndependentItem(self.ch.type_(typeId=2))
     char.attributes[Attribute.maxActiveDrones] = 1
     fit.character = char
     restrictionError1 = fit.getRestrictionError(holder1,
                                                 Restriction.launchedDrone)
     self.assertIsNone(restrictionError1)
     restrictionError2 = fit.getRestrictionError(holder2,
                                                 Restriction.launchedDrone)
     self.assertIsNone(restrictionError2)
     fit.drones.remove(holder1)
     fit.drones.remove(holder2)
     self.assertEqual(len(self.log), 0)
     self.assertRestrictionBuffersEmpty(fit)