def test_remaining(self): q = Quota(1) self.assertEquals(1, q.remaining()) q._start() self.assertTrue(q.running()) time.sleep(0.5) q._stop() self.assertFalse(q.running()) self.assertLessEqual(q.remaining(), 0.5)
def test_nesting(self): q1 = Quota(0.5) q2 = Quota(1) try: with timeout(q1, Outer): with timeout(q2, Inner): time.sleep(1) self.fail() except Outer: self.assertFalse(q1.running()) self.assertLessEqual(q1.remaining(), 0.05) self.assertFalse(q2.running()) self.assertTrue(0.45 < q2.remaining() <= 0.5)