requires
========

.. image:: https://travis-ci.org/eugene-eeo/requires.png?branch=master
   :target: https://travis-ci.org/eugene-eeo/requires

An assertion test generator for Python meant for use with nose.py or
something that uses ``assert`` as a method for running tests. It uses
function chaining to achieve very high readability and make BDD less
tedious.

.. code:: python

    from requires.expect import expect

    expect([]).to.be.a(list)
    expect([]).to.be.empty()

    expect(2).to.be.within(1,3)
    expect(list).to.have.method('append')

----
Note
----

Requires is still work-in-progress and it's API may change at anytime.
However the changes shouldn't be overly drastic. Once I have settled
down to an API spec I will upload the package to PyPI and the changes
should then be either bugfixes or mainly additions and optimizations.

You can now download the package with PIP, and it is available under
the name ``Requires``. Feel free to require it within any of your
unit test suites. You can easily install the package with the following
command::

    $ pip install Requires

--------
Overview
--------

Requires uses a chainable object in order to create tests that are
really concise and readable. It is meant for use in the BDD style,
i.e.:

.. code:: python

    from requires.expect import expect
    from library import function

    res, err = function(0)
    expect(err).to.Not.exist()
    expect(res).to.be.equal(1)

