# Path: doubles/lifecycle.py
# def current_space():
# def teardown():
# def clear(*objects_to_clear):
# def verify():
# def no_builtin_verification():
# def ignore_builtin_verification():
# 
# Path: doubles/targets/allowance_target.py
# def allow(target):
#     """
#     Prepares a target object for a method call allowance (stub). The name of the method to allow
#     should be called as a method on the return value of this function::
# 
#         allow(foo).bar
# 
#     Accessing the ``bar`` attribute will return an ``Allowance`` which provides additional methods
#     to configure the stub.
# 
#     :param object target: The object that will be stubbed.
#     :return: An ``AllowanceTarget`` for the target object.
#     """
# 
#     return AllowanceTarget(target)
# 
# Path: doubles/targets/expectation_target.py
# def expect(target):
#     """
#     Prepares a target object for a method call expectation (mock). The name of the method to expect
#     should be called as a method on the return value of this function::
# 
#         expect(foo).bar
# 
#     Accessing the ``bar`` attribute will return an ``Expectation`` which provides additional methods
#     to configure the mock.
# 
#     :param object target: The object that will be mocked.
#     :return: An ``ExpectationTarget`` for the target object.
#     """
# 
#     return ExpectationTarget(target)


from threading import Thread
    from Queue import Queue
    from queue import Queue
from doubles import lifecycle, expect, allow, clear
import doubles.testing
try:
except ImportError:



class TestLifecycle(object):
    def test_stores_a_space_per_thread(self):
        queue = Queue()

        def push_thread_space_to_queue(queue):

# Path: doubles/lifecycle.py
# def current_space():
# def teardown():
# def clear(*objects_to_clear):
# def verify():
# def no_builtin_verification():
# def ignore_builtin_verification():
# 
# Path: doubles/targets/allowance_target.py
# def allow(target):
#     """
#     Prepares a target object for a method call allowance (stub). The name of the method to allow
#     should be called as a method on the return value of this function::
# 
#         allow(foo).bar
# 
#     Accessing the ``bar`` attribute will return an ``Allowance`` which provides additional methods
#     to configure the stub.
# 
#     :param object target: The object that will be stubbed.
#     :return: An ``AllowanceTarget`` for the target object.
#     """
# 
#     return AllowanceTarget(target)
# 
# Path: doubles/targets/expectation_target.py
# def expect(target):
#     """
#     Prepares a target object for a method call expectation (mock). The name of the method to expect
#     should be called as a method on the return value of this function::
# 
#         expect(foo).bar
# 
#     Accessing the ``bar`` attribute will return an ``Expectation`` which provides additional methods
#     to configure the mock.
# 
#     :param object target: The object that will be mocked.
#     :return: An ``ExpectationTarget`` for the target object.
#     """
# 
#     return ExpectationTarget(target)


# Path: test/lifecycle_test.py
from threading import Thread
    from Queue import Queue
    from queue import Queue
from doubles import lifecycle, expect, allow, clear
import doubles.testing

try:
except ImportError:



class TestLifecycle(object):
    def test_stores_a_space_per_thread(self):
        queue = Queue()

        def push_thread_space_to_queue(queue):

            queue.put(lifecycle.current_space())