Metadata-Version: 1.1
Name: fix
Version: 0.12.08a1
Summary: Simple test fixtures.
Home-page: https://bitbucket.org/schesis/fix
Author: Zero Piraeus
Author-email: z@etiol.net
License: GPLv3
Description: 
        ==========================
        fix - Simple test fixtures
        ==========================
        
        :Author: Zero Piraeus
        :Contact: z@etiol.net
        
        **fix** is a simple library to assist with the creation of fixtures for test
        functions, methods etc. It provides one decorator, ``with_fixture``, which
        allows you to attach setup() and teardown() functions to the decorated callable,
        and access information defined in the fixture from within the test function.
        
        **fix** was written for use with nose_, but doesn't depend on it, and may also
        prove useful with other test frameworks.
        
        .. _nose: http://nose.readthedocs.org/en/latest/index.html
        
        
        Examples
        --------
        
        Here's a basic example with setup but no teardown::
        
            def setup_only(context):
        
                def setup():
                    """Add something to the context."""
                    assert context == {}
                    context.squee = "kapow"
        
                return setup
        
            @with_fixture(setup_only)
            def case(context):
                assert context == {"squee": "kapow"}
        
        ... and here's a rather more involved one that creates some temporary files to
        work with, then deletes them during teardown::
        
            def external(context, files=3):
        
                def setup():
                    context.temp_dir = tempfile.mkdtemp()
                    context.filenames = ["file_%03d" % i for i in range(files)]
                    for filename in context.filenames:
                        with open(os.path.join(context.temp_dir, filename), "w") as f:
                            f.write("This is the file %r.\n" % filename)
        
                def teardown():
                    shutil.rmtree(context.temp_dir)
        
                return setup, teardown
        
            @with_fixture(external, files=5)
            def check_files(context):
                present = 0
                absent = 0
                for filename in context.filenames:
                    if os.path.exists(os.path.join(context.temp_dir, filename)):
                        present += 1
                    else:
                        absent += 1
                return context.temp_dir, present, absent
        
            temp_dir, present, absent = check_files()
            assert not os.path.exists(temp_dir)
            assert present == 5
            assert absent == 0
        
        
        Installation
        ------------
        
        This should do the trick::
        
            pip install fix
        
        
        Licence
        ---------
        
        **fix** is released under the GNU General Public License (version 3 or later),
        a copy of which is included with this distribution in the file **COPYING**.
        
        
Keywords: simple test fixture
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.0
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2
Classifier: Topic :: Software Development :: Libraries :: Python Modules
