Metadata-Version: 2.0
Name: papylon
Version: 0.5
Summary: Random testing for Python
Home-page: https://github.com/Gab-km/papylon
Author: Kazuhiro Matsushima
Author-email: the25thcromosome@gmail.com
License: The MIT License (MIT)
Keywords: papylon quickcheck random test
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
Requires-Dist: setuptools

Papylon
=======

Papylon is a Python library for random testing of program properties.

Example
-------

We can write a simple property with Python code:

.. code-block:: python

  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:

.. code-block:: text

  OK, passed 100 tests.

If a property failed, Papylon reports which arbitrary(s) made it failed:

.. code-block:: python

  import math

  p2 = for_all([arb_int], lambda n: math.sqrt(n*n) == n)
  check(p2)

.. code-block:: text

  Falsified after 2 tests (31 shrinks):
  > [-1]

Build status
------------

.. image:: https://travis-ci.org/Gab-km/papylon.svg
    :target: https://travis-ci.org/Gab-km/papylon


Changes
=======

0.5 (2015-01-16)
----------------

* implement the shrinking system
* add ``from_gen_shrink`` function into ``papylon.arbitrary`` module

0.4 (2014-12-23)
----------------

* add ``such_that`` method into ``papylon.gen.Gen`` class
* add ``constant`` function into ``papylon.gen`` module
* support ``.whl`` files instead of ``.egg`` files in packaging

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


