def testUnExpiredToUnExpiredComparison(self): et1 = ExpiryTime(timedelta(milliseconds=15)) et2 = ExpiryTime(timedelta(milliseconds=10)) assert et1 != et2 assert et2 != et1 sleep(et2.remainingSeconds()) print(str(et1), str(et2)) assert et1 != et2 assert et2 != et1 sleep(et1.remainingSeconds()) assert et1 == et2 assert et2 == et1
def testNonZeroIsFalse(self): et = ExpiryTime(timedelta(milliseconds=10)) assert not et assert not bool(et) sleep(et.remainingSeconds()) assert et assert bool(et)
def testNoneToUnExpiredComparison(self): et1 = ExpiryTime(None) et2 = ExpiryTime(timedelta(milliseconds=10)) assert et1 != et2 assert et2 != et1 sleep(et2.remainingSeconds()) assert et1 != et2 assert et2 != et1
def testNoneComparedToNonZero(self): et1 = ExpiryTime(None) et2 = ExpiryTime(timedelta(milliseconds=10)) # None == forever, so it is greater than anything, although equal to itself assert et1 > et2 assert et2 < et1 assert et1 > et2 assert et2 < et1 sleep(et2.remainingSeconds()) assert et1 > et2 assert et2 < et1 assert et1 > et2 assert et2 < et1
def testNoneRemainingSecondsExplicitForever(self): et = ExpiryTime(None) assert 9 == et.remainingSeconds(9)
def testNonZeroRemainingSeconds(self): et = ExpiryTime(timedelta(milliseconds=10)) assert 0.0 < et.remainingSeconds() assert 0.0101 > et.remainingSeconds() sleep(et.remainingSeconds()) assert 0.0 == et.remainingSeconds()
def testZeroRemainingSeconds(self): et = ExpiryTime(timedelta(microseconds=0)) assert 0.0 == et.remainingSeconds()
def testNoneRemainingSeconds(self): et = ExpiryTime(None) assert et.remainingSeconds() is None
def testNonZeroRemaining(self): et = ExpiryTime(timedelta(milliseconds=10)) assert timedelta(days=0) < et.remaining() assert timedelta(milliseconds=11) > et.remaining() sleep(et.remainingSeconds()) assert timedelta(days=0) == et.remaining()
def testNonZeroStr(self): et = ExpiryTime(timedelta(milliseconds=10)) assert str(et).startswith('Expires_in_0:00:00.0') sleep(et.remainingSeconds()) assert str(et).startswith('Expired_for_0:00:00')
def testNonZeroExpired(self): et = ExpiryTime(timedelta(milliseconds=10)) assert not et.expired() sleep(et.remainingSeconds()) assert et.expired()