Random testing for Python
Project description
Papylon
Papylon is a Python library for random testing of program properties.
Example
We can write a simple property with Python code:
from papylon.prop import for_all
from papylon.arbitrary import arb_list, arb_int
from papylon.checker import check
# reversed and reversed list is the same of the original list
p1 = for_all([arb_list(arb_int(), max_length=20)],
lambda x: list(reversed(list(reversed(x)))) == x)
check(p1)
When we run the script above, we can see the result as following:
OK, passed 100 tests.
If a property failed, Papylon reports which arbitrary(s) made it failed:
from papylon.arbitrary import arb_float
p2 = for_all([arb_float(), arb_float()], lambda x, y: x - y == y - x)
check(p2)
Falsified after 1 tests.
> [950620953.3142085, 4571184.136292458]
Build status
Changes
0.3 (2014-12-13)
modify ArbFloat to use the format of IEEE 754
add ArbDate, arb_date and from_gen into papylon.arbitrary module
0.2 (2014-11-30)
add one_of, choose, frequency and map functions into papylon.gen module
add ArbStr and arb_str into papylon.arbitrary module
0.1 (2014-11-25)
first release
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
papylon-0.3.zip
(8.6 kB
view hashes)
Built Distributions
papylon-0.3.win32.zip
(15.1 kB
view hashes)
papylon-0.3-py3.4.egg
(13.0 kB
view hashes)