def testAttachedFitChargeToNone(self): eos = Mock(spec_set=()) fit = self._makeFit(eos=eos) module = Module(1, state=State.active, charge=None) charge = Charge(2) fit.ordered.append(module) module.charge = charge self.expectModuleChargeLink = True # Action module.charge = None # Checks self.assertEqual(len(fit.lt), 1) self.assertIn(module, fit.lt) self.assertEqual(fit.lt[module], {State.offline, State.online, State.active}) self.assertEqual(len(fit.rt), 1) self.assertIn(module, fit.rt) self.assertEqual(fit.rt[module], {State.offline, State.online, State.active}) self.assertIsNone(module.charge) self.assertIsNone(module._other) self.assertIsNone(charge.container) self.assertIsNone(charge._other) self.assertIs(module._fit, fit) self.assertIsNone(charge._fit) # Misc self.expectModuleChargeLink = None fit.ordered.remove(module) self.assertFitBuffersEmpty(fit)
def testDetachedModuleChargeToNone(self): module = Module(1, state=State.active, charge=None) charge = Charge(2) module.charge = charge # Action module.charge = None # Checks self.assertIsNone(module.charge) self.assertIsNone(module._other) self.assertIsNone(charge.container) self.assertIsNone(charge._other) self.assertIsNone(module._fit) self.assertIsNone(charge._fit)
def testDetachedModuleNoneToNone(self): module = Module(1, state=State.active, charge=None) # Action module.charge = None # Checks self.assertIsNone(module.charge) self.assertIsNone(module._other)
def testDetachedFitChargeToBoundCharge(self): fit = self._makeFit() fitOther = self._makeFit() module = Module(1, state=State.active, charge=None) charge1 = Charge(2) charge2 = Charge(3) fit.ordered.append(module) fitOther.ordered.append(charge2) module.charge = charge1 # Action self.assertRaises(ValueError, module.__setattr__, 'charge', charge2) # Checks self.assertEqual(len(fit.lt), 0) self.assertEqual(len(fit.rt), 0) self.assertEqual(len(fitOther.lt), 0) self.assertEqual(len(fitOther.rt), 0) self.assertIs(module.charge, charge1) self.assertIs(module._other, charge1) self.assertIs(charge1.container, module) self.assertIs(charge1._other, module) self.assertIsNone(charge2.container) self.assertIsNone(charge2._other) self.assertIs(module._fit, fit) self.assertIs(charge1._fit, fit) self.assertIs(charge2._fit, fitOther) # Misc fit.ordered.remove(module) fitOther.ordered.remove(charge2) self.assertFitBuffersEmpty(fit) self.assertFitBuffersEmpty(fitOther)
def testDetachedModuleChargeToFreeCharge(self): module = Module(1, state=State.active, charge=None) charge1 = Charge(2) charge2 = Charge(3) module.charge = charge1 # Action module.charge = charge2 # Checks self.assertIs(module.charge, charge2) self.assertIs(module._other, charge2) self.assertIsNone(charge1.container) self.assertIsNone(charge1._other) self.assertIs(charge2.container, module) self.assertIs(charge2._other, module) self.assertIsNone(module._fit) self.assertIsNone(charge1._fit) self.assertIsNone(charge2._fit)
def testDetachedModuleNoneToFreeCharge(self): module = Module(1, state=State.active, charge=None) charge = Charge(2) # Action module.charge = charge # Checks self.assertIs(module.charge, charge) self.assertIs(module._other, charge) self.assertIs(charge.container, module) self.assertIs(charge._other, module)
def testDetachedFitChargeToNone(self): fit = self._makeFit() module = Module(1, state=State.active, charge=None) charge = Charge(2) fit.ordered.append(module) module.charge = charge # Action module.charge = None # Checks self.assertEqual(len(fit.lt), 0) self.assertEqual(len(fit.rt), 0) self.assertIsNone(module.charge) self.assertIsNone(module._other) self.assertIsNone(charge.container) self.assertIsNone(charge._other) self.assertIs(module._fit, fit) self.assertIsNone(charge._fit) # Misc fit.ordered.remove(module) self.assertFitBuffersEmpty(fit)
def testAttachedFitChargeToBoundCharge(self): eos = Mock(spec_set=()) fit = self._makeFit(eos=eos) fitOther = self._makeFit(eos=eos) module = Module(1, state=State.active, charge=None) charge1 = Charge(2) charge2 = Charge(3) fit.ordered.append(module) fitOther.ordered.append(charge2) module.charge = charge1 self.expectModuleChargeLink = True # Action self.assertRaises(ValueError, module.__setattr__, 'charge', charge2) # Checks self.assertEqual(len(fit.lt), 2) self.assertIn(module, fit.lt) self.assertEqual(fit.lt[module], {State.offline, State.online, State.active}) self.assertIn(charge1, fit.lt) self.assertEqual(fit.lt[charge1], {State.offline}) self.assertEqual(len(fit.rt), 2) self.assertIn(module, fit.rt) self.assertEqual(fit.rt[module], {State.offline, State.online, State.active}) self.assertIn(charge1, fit.rt) self.assertEqual(fit.rt[charge1], {State.offline}) self.assertEqual(len(fitOther.lt), 1) self.assertIn(charge2, fitOther.lt) self.assertEqual(fitOther.lt[charge2], {State.offline}) self.assertEqual(len(fitOther.rt), 1) self.assertIn(charge2, fitOther.rt) self.assertEqual(fitOther.rt[charge2], {State.offline}) self.assertIs(module.charge, charge1) self.assertIs(module._other, charge1) self.assertIs(charge1.container, module) self.assertIs(charge1._other, module) self.assertIsNone(charge2.container) self.assertIsNone(charge2._other) self.assertIs(module._fit, fit) self.assertIs(charge1._fit, fit) self.assertIs(charge2._fit, fitOther) # Misc self.expectModuleChargeLink = None fit.ordered.remove(module) fitOther.ordered.remove(charge2) self.assertFitBuffersEmpty(fit) self.assertFitBuffersEmpty(fitOther)
def testAttachedFitAddRemovedModule(self): eos = Mock(spec_set=()) fit = self._makeFit(eos=eos) module = Module(1, state=State.active, charge=None) charge = Charge(2) module.charge = charge fit.ordered.append(module) self.expectModuleChargeLink = True # Action fit.ordered.remove(module) # Checks self.assertEqual(len(fit.lt), 0) self.assertEqual(len(fit.rt), 0) self.assertEqual(len(fit.ordered), 0) self.assertIs(module.charge, charge) self.assertIs(module._other, charge) self.assertIs(charge.container, module) self.assertIs(charge._other, module) self.assertIsNone(module._fit) self.assertIsNone(charge._fit) # Misc self.assertFitBuffersEmpty(fit)