def testStopAfterStart(self): a = ResettableTimer(0.4) a.start() self.assertEqual(True, a.isRunning()) self.assertEqual(False, a.isExpired()) a.stop() self.assertEqual(False, a.isRunning()) self.assertEqual(False, a.isExpired())
def testStateAfterExpiredThenRestart(self): a = ResettableTimer(0.4) a.start() sleep(0.45) self.assertEqual(False, a.isRunning()) self.assertEqual(True, a.isExpired()) a.restart() self.assertEqual(True, a.isRunning()) self.assertEqual(False, a.isExpired())
def testTimerAccuracy(self): testTimes = [1, 0.3, 0.2, 0.1, 0.01, 0.01] for i in testTimes: a = ResettableTimer(i) startTime = perf_counter() a.start() while (a.isRunning()): pass endTime = perf_counter() delta = endTime - startTime self.assertAlmostEqual(delta, i, delta=0.001)
def testIsExpiredWith0Time(self): a = ResettableTimer(0) a.start() self.assertEqual(False, a.isRunning()) self.assertEqual(True, a.isExpired())
def testStateAfterTimeoutTime(self): a = ResettableTimer(0.2) a.start() sleep(0.25) self.assertEqual(False, a.isRunning()) self.assertEqual(True, a.isExpired())
def testStateWhenInitialised(self): a = ResettableTimer(0.6) self.assertEqual(False, a.isRunning()) self.assertEqual(False, a.isExpired())