Various utilities related to date and time for testing purposes.
Project description
A module to allow playing with time in tests.
This README is also a doctest. To it and other doctests for this package, simply do:
nosetests --with-doctest --doctest-extension=txt
Before anything, the package must be imported in order to replace the regular datetime module with the modified one:
>>> import anybox.testing.datetime >>> from datetime import datetime >>> import time
Let’s keep the real value of now around:
>>> start = datetime.now() >>> start_t = time.time()
Then you can:
>>> datetime.set_now(datetime(2001, 01, 01, 3, 57, 0)) >>> datetime.now() datetime(2001, 1, 1, 3, 57) >>> datetime.today() datetime(2001, 1, 1, 3, 57)
The time module goes along:
>>> datetime.fromtimestamp(time.time()) datetime(2001, 1, 1, 3, 57)
Note that you can expect a few microseconds difference (not displayed here because datetime.fromtimestamp ignores them).
Don’t forget afterwards get back to the regular system clock, otherwise many pieces of code might get very suprised if the system clock looks as if it’s frozen:
>>> datetime.real_now()
Now let’s check it worked:
>>> now = datetime.now() >>> now > start True >>> from datetime import timedelta >>> now - start < timedelta(0, 0, 10000) # 10 ms True
And with the time module:
>>> now_t = time.time() >>> now_t > start_t True >>> now_t - start_t < 0.01 # 10 ms again True
Other constructors are still available (this is a non regression test):
>>> import datetime >>> datetime.time(3, 57, 0) datetime.time(3, 57) >>> datetime.datetime(2013, 1, 1, 3, 57, 0) datetime(2013, 1, 1, 3, 57) >>> datetime.date(2013, 1, 1) datetime.date(2013, 1, 1)
Version 0.2.1 (2012-11-22)
Fixed issue with datetime.time masking
Version 0.1 (2012-07-15)
initial version
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for anybox.testing.datetime-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e5366c14e799b013219bc638e73d03a6f1e33a4b20c98b0d02f27163c8f614 |
|
MD5 | 7a7497eccd1a6c34101e79705238b182 |
|
BLAKE2b-256 | aa6824f4ee7a91cb32eaacc7f97bb58b72eb9a0cf365064df9091363386a15c4 |