
    i                     >    S r SSKJr  SSKJr  SSKJr  SSKJr  S r	g)z
This module provides tools for working with the :pypi:`dpcontracts` library,
because `combining contracts and property-based testing works really well
<https://hillelwayne.com/talks/beyond-unit-tests/>`_.

It requires ``dpcontracts >= 0.4``.
    )PreconditionError)reject)InvalidArgument)proxiesc                    ^  [        T S5      (       d  [        T R                   S35      e[        T 5      U 4S j5       nU$ )a  Decorate ``contract_func`` to reject calls which violate preconditions,
and retry them with different arguments.

This is a convenience function for testing internal code that uses
:pypi:`dpcontracts`, to automatically filter out arguments that would be
rejected by the public interface before triggering a contract error.

This can be used as ``builds(fulfill(func), ...)`` or in the body of the
test e.g. ``assert fulfill(func)(*args)``.
__contract_wrapped_func__z! has no dpcontracts preconditionsc                  J   >  T" U 0 UD6$ ! [          a    [        5          g f = f)N)r   r   )argskwargscontract_funcs     [/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hypothesis/extra/dpcontracts.pyinnerfulfill.<locals>.inner*   s,    	 $1&11  	H	s    "")hasattrr   __name__r   )r   r   s   ` r   fulfillr      sR     ="=>>%%&&GH
 	
 ]  L    N)
__doc__dpcontractsr   
hypothesisr   hypothesis.errorsr   hypothesis.internal.reflectionr   r    r   r   <module>r      s    *  - 2r   