def test_order(self): l = [] fun = lambda x: l.append(x) for x in [0.05, 0.04, 0.03, 0.02, 0.01]: asynclib.call_later(x, fun, x) self.scheduler() self.assertEqual(l, [0.01, 0.02, 0.03, 0.04, 0.05])
def test_cancel(self): l = [] fun = lambda x: l.append(x) asynclib.call_later(0.01, fun, 0.01).cancel() asynclib.call_later(0.02, fun, 0.02) asynclib.call_later(0.03, fun, 0.03) asynclib.call_later(0.04, fun, 0.04) asynclib.call_later(0.05, fun, 0.05).cancel() self.scheduler() self.assertEqual(l, [0.02, 0.03, 0.04])
def test_reset(self): l = [] fun = lambda x: l.append(x) asynclib.call_later(0.01, fun, 0.01) asynclib.call_later(0.02, fun, 0.02) asynclib.call_later(0.03, fun, 0.03) x = asynclib.call_later(0.04, fun, 0.04) asynclib.call_later(0.05, fun, 0.05) time.sleep(0.1) x.reset() self.scheduler() self.assertEqual(l, [0.01, 0.02, 0.03, 0.05, 0.04])
def test_interface(self): fun = lambda: 0 self.assertRaises(AssertionError, asynclib.call_later, -1, fun) x = asynclib.call_later(3, fun) self.assertRaises(AssertionError, x.delay, -1) self.assertTrue(x.cancelled is False) x.cancel() self.assertTrue(x.cancelled is True) self.assertRaises(AssertionError, x.call) self.assertRaises(AssertionError, x.reset) self.assertRaises(AssertionError, x.delay, 2) self.assertRaises(AssertionError, x.cancel)
def test_delay(self): l = [] fun = lambda x: l.append(x) asynclib.call_later(0.01, fun, 0.01).delay(0.07) asynclib.call_later(0.02, fun, 0.02).delay(0.08) asynclib.call_later(0.03, fun, 0.03) asynclib.call_later(0.04, fun, 0.04) asynclib.call_later(0.05, fun, 0.05) asynclib.call_later(0.06, fun, 0.06).delay(0.001) self.scheduler() self.assertEqual(l, [0.06, 0.03, 0.04, 0.05, 0.01, 0.02])