
  Achoo. A fluent interface for testing Python objects.
  Copyright (C) 2008 Quuxo Software.
  <http://web.quuxo.com/projects/achoo>

Achoo is a fluent interface for testing Python objects. It makes
making assertions about objects (is this object equal to this other one?)
and function and method calls (does calling this function with these
arguments raise an error?) easy.

It is designed to be used in conjunction with a unit testing
framework like PyUnit's `unittest' module, shipped with all modern
Python distributions.

This module was inspired by Martin Fowler's article on fluent interfaces[0],
FEST Assert[1] and from too much perspiration from trying to use
unittest.TestCase's assert/fail methods.

Patches welcome!

[0] <http://www.martinfowler.com/bliki/FluentInterface.html>
[1] <http://fest.easytesting.org/assert/>

  * Installation *

If you have a recent Setuptools[2] installed, just run this from the
command line:

    easy_install Achoo

If you downloaded the Achoo distribution tarball, unpack it and
change to the Achoo directory, then run this from the command line:

    python setup.py install

You may need to be root to do this.

[2] <http://pypi.python.org/pypi/setuptools>

  * Using Achoo *

The 5 second demo:

    from achoo import requiring
    from achoo import calling

    s = 'foo'
    requiring(s).equal_to('foo').length(3)
    calling(s.index).passing('quux').raises(ValueError)

For additional documentation, see the API documentation in the `doc'
directory or using Python's built-in help system.

  * Licence *

Achoo is distributed under the GNU Lesser General Public Licence v3. As
such, it should be compatible with most other projects. See the included
files COPYING and COPYING.LESSER for the full details.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this program.  If not, see
<http://www.gnu.org/licenses/>.

