view tests/test_factory.txt @ 96:9dbdcb1adca1 default tip

py3
author Jeff Hammel <k0scist@gmail.com>
date Tue, 03 Nov 2020 10:49:55 -0800
parents 418289c0fe3c
children
line wrap: on
line source

Test pyloader's Factory
=======================

Boilerplate::

    >>> import os
    >>> from pyloader.factory import PyFactory
    >>> objects = os.path.join(here, 'objects.py')

Construct a factory::

    >>> factory = PyFactory()

Make a configuration::

    >>> config = {'': {'path': objects + ':stringsort', 'args': ['foo', 'bar']}}

Load it::

    >>> factory.configure(config)

Get the thing::

    >>> factory.load()
    'abfoor'

Now lets try something better!::

    >>> config = {'': {'path': objects + ':StringMunge', 'kwargs': {'prefix': 'PRE', 'callback': '%(callback)s'}},
    ...           'callback': {'path': objects + ':stringsort'} }
    >>> factory.configure(config)
    >>> obj = factory.load()
    >>> obj('foobar')
    'PRE:abfoor'