Esempio n. 1
0
    def testEnterSafeMode(self):
        """Tests the :meth:`enterSafeMode` method."""
        safeCurrent = self.system.heatingCurrentInSafeMode * 2
        self.system.heatingCurrentInSafeMode = safeCurrent
        self.system.startHeatingWithCurrent(safeCurrent * 2)
        logger = test.wrapLogger(self.system.startHeatingWithCurrent)
        self.system.lock(42)

        self.system.enterSafeMode()
        self.assertTrue(self.system.isInSafeMode)
        self.assertEqual(logger.log, [(safeCurrent, 42)])

        # Do not pointlessly call startHeatingWithCurrent.
        self.system.enterSafeMode()
        self.assertTrue(self.system.isInSafeMode)
        self.assertEqual(logger.log, [(safeCurrent, 42)])

        self.system.unlock(42)

        self.system.startHeatingWithCurrent(safeCurrent / 2)
        self.assertFalse(self.system.isInSafeMode)
        self.assertEqual(logger.log, [(safeCurrent, 42), safeCurrent / 2])

        # Do not pointlessly call startHeatingWithCurrent here either.
        self.system.enterSafeMode()
        self.assertTrue(self.system.isInSafeMode)
        self.assertEqual(logger.log, [(safeCurrent, 42), safeCurrent / 2])
Esempio n. 2
0
    def testMeasurementChanged(self):
        """Tests the :meth:`_measurementChanged` method."""
        eventCount = len(self.mediator.eventsNoted)
        rpLogger = test.wrapLogger(self.cd._recalculatePolynomials)

        self.cd._measurementChanged()
        self.assertEqual(len(rpLogger.log), 1)
        self.assertEqual(len(self.mediator.eventsNoted), eventCount + 1)
        self.assertEqual(self.mediator.eventsNoted[-1],
            CalibrationDataChanged(self.system, self.cd))

        self.system.calibrationData = CalibrationData()
        self.assertEqual(len(self.mediator.eventsNoted), eventCount + 2)

        # cd is now free; recalculate poynomials, but send no events.
        self.cd._measurementChanged()
        self.assertEqual(len(rpLogger.log), 2)
        self.assertEqual(len(self.mediator.eventsNoted), eventCount + 2)
Esempio n. 3
0
 def setUp(self):
     self.mediator = gui.mediator.Mediator(logging=True)
     self.system = ops.system.ProductionSystem(self.mediator)
     self.cd = self.system.calibrationData
     self.mcLogger = test.wrapLogger(self.cd._measurementChanged)