U
    /e9                     @   sJ   d dl Z d dlmZ d dlmZmZmZ edfddZdd Zdd	 Z	dS )
    N)builtins_is_valid_args_is_partial_argsFc                    s(  |   fdd} | dd d ks$t tj}| ||ks:t | |dsHt | |dddks\t | |dddkspt tj}| |st | |dst | |ddst | |ddst | |ddd	st | |ddddkst | |ddd
dkst | |ddd
d	dkst tj}| |st | |ds,t | |dds>t | |ddsPt | |dddsdt | |dddsxt | |dd|kst | |ddd
dkst tj}| ||kst | |d|kst | |ddst | |ddd
st | |ddd
dst tj}| ||ks&t | |ds6t | |dddksLt | |dds^t | |ddd
srt | |d d|kst | |dd dst | |ddd dst | |ddd
d dst | |d d d|kst | |dd d dst | |ddd d ddkst | |ddd
d d ddks2t tj}| ||ksJt | |dsZt | |ddslt | |ddd
st | |ddd
ddkst | |ddd
ddkst tj	} |di |kst  |dddi|kst  |di st  |dddist  |di s$t d S )Nc                    s    | ||S N )funcargskwargsZorig_check_validr   ?/tmp/pip-unpacked-wheel-zr66a21f/toolz/tests/test_signatures.py<lambda>       ztest_is_valid.<locals>.<lambda>c                 S   s   d S r   r   xr   r   r   r   
   r      r   F   )real)imag   )base)r   r      )iterable)key)r   default)stepr   r   )r   )r   r   )
AssertionErrorr   abscomplexintmapminrange	functoolspartial)check_valid
incompletefr   r
   r   test_is_valid   sv    r'   c                   C   s   t tdd d S )NT)r$   r%   )r'   r   r   r   r   r   test_is_partialL   s    r(   c                   C   s^   t ddd kstt dts$tt d d ks6tt d d ksHtt d d ksZtd S )Nr   )_sigsZ	_is_arityr   allZ_has_varargsZ_has_keywordsZ_num_required_argsr   r   r   r   test_for_coverageP   s
    r+   )
r"   Ztoolz._signaturesZ_signaturesr)   r   r   r   r'   r(   r+   r   r   r   r   <module>   s
   F