ó
Ë£,]c           @   sj  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z m Z m Z m	 Z	 m
 Z
 m Z m Z d  d l m Z d  d l j Z d  d l m Z d  d l m Z e d „ Z d „  Z e e d „ Z e e d	 „ Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" e e d „ Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d S(   iÿÿÿÿN(   t   curryt   is_valid_argst   is_partial_argst   is_arityt   num_required_argst   has_varargst   has_keywords(   t   builtins(   t   PY3(   t   raisesc         B   sV   |  j  d ƒ s d |  }  n  | r+ d } n d } i  } d |  | f e ƒ  | U| d S(   Nt   (s   (%s)s1   raise ValueError("function should not be called")s   return Trues   def func%s:
    %st   func(   t
   startswitht   globals(   t   param_stringt   raise_if_calledt   bodyt   d(    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt	   make_func   s    	c              s™  t  d ƒ ‰  t t ‡  f d †  ƒ s* t ‚ t t ‡  f d †  ƒ sH t ‚ t  d d t ƒ‰  ˆ  ƒ  si t ‚ t t ‡  f d †  ƒ s‡ t ‚ t  d d t ƒ‰  ˆ  d ƒ s« t ‚ ˆ  d d ƒ sÀ t ‚ ˆ  d d	 ƒ sÕ t ‚ ˆ  d d d
 d	 ƒ sð t ‚ t t ‡  f d †  ƒ st ‚ t  d d t ƒ‰  ˆ  d ƒ s2t ‚ ˆ  d d ƒ sGt ‚ ˆ  d d	 ƒ s\t ‚ ˆ  d d d
 d	 ƒ swt ‚ t t ‡  f d †  ƒ s•t ‚ d  S(   Nt    c              s   ˆ  ƒ  S(   N(    (    (   t   f(    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   <lambda>   R   c              s
   ˆ  d ƒ S(   Ni   (    (    (   R   (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR      R   R   c              s
   ˆ  d ƒ S(   Ni   (    (    (   R   (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   !   R   s   x, y=1i   t   xi   t   yc              s   ˆ  d d d ƒ S(   Ni   i   i   (    (    (   R   (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   (   R   s   (x, y=1)c              s   ˆ  d d d ƒ S(   Ni   i   i   (    (    (   R   (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   /   R   (   R   R	   t
   ValueErrort   AssertionErrort	   TypeErrort   False(    (    (   R   s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_make_func   s$    c            sA  |  ‰  ‡  f d †  }  t  d ƒ } |  | ƒ s3 t ‚ |  | d ƒ t k sN t ‚ |  | d d ƒt k sl t ‚ t  d ƒ } |  | ƒ | k s t ‚ |  | d ƒ s¥ t ‚ |  | d d ƒs½ t ‚ |  | d d d ƒt k sÞ t ‚ |  | d d d ƒt k sÿ t ‚ |  | d d ƒ t k st ‚ |  | d d d d ƒt k sAt ‚ t  d ƒ } |  | ƒ s_t ‚ |  | d ƒ stt ‚ |  | d d ƒsŒt ‚ |  | d d d ƒt k s­t ‚ |  | d d d ƒt k sÎt ‚ |  | d d ƒ t k sìt ‚ |  | d d d d ƒt k st ‚ t  d ƒ } |  | ƒ s.t ‚ |  | d ƒ sCt ‚ |  | d d ƒ s[t ‚ |  | d d ƒt k syt ‚ t  d	 ƒ } |  | ƒ s—t ‚ |  | d d ƒs¯t ‚ |  | d d d d ƒsÍt ‚ |  | d ƒ t k sèt ‚ t  d
 ƒ } |  | ƒ | k st ‚ |  | d ƒ s!t ‚ |  | d d ƒ s9t ‚ |  | d d ƒsQt ‚ |  | d d d ƒt k srt ‚ |  | d d d ƒt k s“t ‚ t  d ƒ } |  | ƒ | k s·t ‚ |  | d ƒ sÌt ‚ |  | d d ƒsät ‚ |  | d d ƒ süt ‚ |  | d d d d d d ƒs t ‚ |  | d d d d ƒt k sDt ‚ t  d ƒ } |  | ƒ | k sht ‚ |  | d ƒ | k sƒt ‚ |  | d d ƒ s›t ‚ |  | d d d ƒ| k s¼t ‚ |  | d d d ƒt k sÝt ‚ |  | d d d d ƒt k st ‚ |  | d d d d ƒt k s%t ‚ |  d ƒ t k s=t ‚ d  S(   Nc            s   ˆ  |  | | ƒ S(   N(    (   R   t   argst   kwargs(   t   orig_check_valid(    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   4   R   R   i   R   i   R   s   x=1s   *argss   **kwargss   x, *argss   x, y=1, **kwargst   zi   s   a, b, c=3, d=4t   ct   et   b(   R   R   R   (   t   check_validt
   incompleteR   (    (   R   s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_is_valid2   sn    !!$!!$!!$$!!$$c            su  t  s
 d  S|  ‰  ‡  f d †  }  t d ƒ } |  | ƒ | k sC t ‚ |  | d ƒ sX t ‚ |  | d d ƒsp t ‚ |  | d d d ƒs‹ t ‚ |  | d d ƒ t k s© t ‚ |  | d d d ƒt k sÊ t ‚ t d ƒ } |  | ƒ | k sî t ‚ |  | d ƒ st ‚ |  | d d ƒst ‚ |  | d d d ƒs6t ‚ |  | d d d d ƒsTt ‚ |  | d d ƒ slt ‚ |  | d d d ƒt k st ‚ t d	 ƒ } |  | ƒ s«t ‚ |  | d ƒ t k sÆt ‚ |  | d d ƒsÞt ‚ |  | d d ƒt k süt ‚ t d
 ƒ } |  | ƒ | k s t ‚ |  | d ƒ | k s;t ‚ |  | d d ƒ| k sYt ‚ |  | d d d ƒstt ‚ |  | d d d d ƒs’t ‚ |  | d d ƒ t k s°t ‚ |  | d d d ƒt k sÑt ‚ |  | d d d d d ƒt k søt ‚ t d ƒ } |  | ƒ | k st ‚ |  | d d d ƒ| k s=t ‚ |  | d d ƒsUt ‚ |  | d d d ƒspt ‚ |  | d d d d ƒsŽt ‚ |  | d d d d d d ƒs²t ‚ |  | d d d d d ƒt k sÙt ‚ |  | d d d d ƒt k sýt ‚ t d ƒ } |  | ƒ | k s!t ‚ |  | d ƒ | k s<t ‚ |  | d d d ƒsWt ‚ t d ƒ } |  | ƒ | k s{t ‚ |  | d ƒ | k s–t ‚ |  | d d ƒ | k s´t ‚ |  | d d d d ƒ| k sØt ‚ |  | d d d d d d ƒsüt ‚ |  | d d d d d d d d d ƒ
 | k s/t ‚ t d ƒ } |  | ƒ | k sSt ‚ |  | d ƒ | k snt ‚ |  | d d ƒ| k sŒt ‚ |  | d d ƒ s¤t ‚ t d ƒ } |  | ƒ | k sÈt ‚ |  | d ƒ | k sãt ‚ |  | d d ƒ| k st ‚ |  | d d ƒ st ‚ d | _ |  | ƒ t k s:t ‚ d t f d „  ƒ  Y} | ƒ  } |  | ƒ d  k sqt ‚ d  S(   Nc            s   ˆ  |  | | ƒ S(   N(    (   R   R   R   (   R   (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   y   R   s	   x, *, y=1i   R   R   i   R    s   x, *args, y=1s   *, y=1s   x, *, ys   x=1, *, y, z=3i   s   w, x=2, *args, y, z=4s%   a, b, c=3, d=4, *args, e=5, f=6, g, ht   gi   t   hi   i   i   i   i	   s   a: int, b: floatR#   s   (a: int, b: float) -> floati"   t   RaisesValueErrorc           B   s    e  Z d  „  Z e d „  ƒ Z RS(   c         S   s   d  S(   N(    (   t   self(    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   __call__Ã   s    c         S   s   t  d ƒ ‚ d  S(   Ns   Testing Python 3.4(   R   (   R*   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   __signature__Å   s    (   t   __name__t
   __module__R+   t   propertyR,   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR)   Â   s   	(   R   R   R   R   R,   t   objectt   None(   R$   R%   R   R)   (    (   R   s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_is_valid_py3u   sˆ    !!!'!$'$$$3		c           C   s*   t  d t d t ƒ t d t d t ƒ d  S(   NR$   R%   (   R&   R   t   TrueR2   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_is_partialÍ   s    c          C   s†   t  d „ }  t j |  d t  ƒ} t d | d t  ƒ t d | d t  ƒ t j |  d t ƒ} t d | d t ƒ t d | d t ƒ d  S(   Nc         S   sš   yp t  |  ƒ | | Ž  t  |  | Œ |   t  |  |  | Œ  t  |  | | Ž ƒ  t |  t d „  ƒ ƒ sk d  S| SWn# t k
 r„ t St k
 r• t SXd  S(   Nc           S   s   d  S(   N(   R1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   Ù   R   (   R    t
   isinstancet   typeR1   R   R3   R   R   (   R   R   R   R%   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   check_curryÓ   s    R%   R$   (   R3   t	   functoolst   partialR&   R2   R   (   R7   R$   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_is_valid_curryÒ   s    c          C   sø   d  d „ }  t |  d i  ƒ s$ t ‚ t |  d i  ƒ s< t ‚ t |  d i d  d 6ƒ s[ t ‚ t |  d i d  d 6ƒ t k s€ t ‚ t |  d i  ƒ s˜ t ‚ t |  d i  ƒ s° t ‚ t |  d	 i d  d 6ƒ sÏ t ‚ t |  d
 i d  d 6ƒ t k sô t ‚ d  S(   Nc         S   s   d  S(   N(    (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   ë   s    R   (    (   N(    (   N(    (   N(    (   N(   R1   R   R   R   R   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_func_keywordê   s    %c          C   sa  t  d ƒ t k s t ‚ t  t ƒ s* t ‚ t  t d ƒ ƒ t k sH t ‚ t  t d ƒ ƒ t k sf t ‚ t  t d ƒ ƒ s~ t ‚ t  t d ƒ ƒ t k sœ t ‚ t  t d ƒ ƒ s´ t ‚ t  t d ƒ ƒ t k sÒ t ‚ t  t d ƒ ƒ t k sð t ‚ t r]t d ƒ }  d	 |  _ t  |  ƒ t k s#t ‚ d
 t f d „  ƒ  Y} | ƒ  }  t  |  ƒ d  k s]t ‚ n  d  S(   Ni   R   s   x, y, zs   *argss   **kwargss   x, y, *args, **kwargss	   x, y, z=1s   x, y, z=1, **kwargsi"   R)   c           B   s    e  Z d  „  Z e d „  ƒ Z RS(   c         S   s   d  S(   N(    (   R*   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR+     s    c         S   s   t  d ƒ ‚ d  S(   Ns   Testing Python 3.4(   R   (   R*   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR,   
  s    (   R-   R.   R+   R/   R,   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR)     s   	(	   R   R   R   t   mapR   R   R,   R0   R1   (   R   R)   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_has_unknown_args÷   s     		c           C   s»   t  d „  ƒ d k s t ‚ t  d „  ƒ d k s6 t ‚ t  d „  ƒ d k sQ t ‚ t  d „  ƒ d k sl t ‚ t  d „  ƒ d k s‡ t ‚ t  t ƒ d k sŸ t ‚ t  t ƒ d  k s· t ‚ d  S(	   Nc           S   s   d  S(   N(   R1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   i    c         S   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   i   c         W   s   d  S(   N(   R1   (   R   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   c         [   s   d  S(   N(   R1   (   R   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   c         _   s   d  S(   N(   R1   (   R   R   R   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   i   (   R   R   R<   t   dictR1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_num_required_args  s    c           C   sÍ   t  d „  ƒ t k s t ‚ t  d „  ƒ t k s6 t ‚ t  d d „ ƒ sN t ‚ t  d „  ƒ sc t ‚ t  t ƒ su t ‚ t  t ƒ s‡ t ‚ t  t ƒ s™ t ‚ t  t ƒ t k s± t ‚ t  t ƒ d  k sÉ t ‚ d  S(   Nc           S   s   d  S(   N(   R1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   c         S   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   i   c         S   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR     R   c          [   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR      R   (	   R   R   R   t   intt   sortedt   maxR<   t	   bytearrayR1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_has_keywords  s    c           C   s‚   t  d „  ƒ t k s t ‚ t  d „  ƒ s0 t ‚ t  d „  ƒ t k sK t ‚ t  t ƒ s] t ‚ t r~ t  t ƒ d  k s~ t ‚ n  d  S(   Nc           S   s   d  S(   N(   R1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   )  R   c          W   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   *  R   c          [   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   +  R   (   R   R   R   R<   R   RB   R1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_has_varargs(  s    c           C   sñ   t  d d „  ƒ s t ‚ t  d d „  ƒ t k s6 t ‚ t  d d „  ƒ sN t ‚ t  d d „  ƒ sf t ‚ t  d d „  ƒ t k s„ t ‚ t  d d	 „  ƒ t k s¢ t ‚ t  d t ƒ s· t ‚ t  d
 t ƒ t k sÒ t ‚ t  d
 t ƒ d  k sí t ‚ d  S(   Ni    c           S   s   d  S(   N(   R1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   2  R   i   c           S   s   d  S(   N(   R1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   3  R   c         S   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   4  R   i   c         S   s   d  S(   N(   R1   (   R   R   R    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   5  R   c         W   s   d  S(   N(   R1   (   R   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   6  R   c         [   s   d  S(   N(   R1   (   R   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   7  R   i   (   R   R   R   t   allR<   t   rangeR1   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_is_arity1  s    c            sÑ  t  s
 d  S|  ‰  ‡  f d †  }  t j t d ƒ ƒ } |  | ƒ sF t ‚ |  | d ƒ s[ t ‚ |  | d d ƒ ss t ‚ |  | d d d ƒ sŽ t ‚ |  | d d d d ƒ t k s² t ‚ |  | d t ƒt k sÐ t ‚ |  | d ƒ ƒ sè t ‚ |  | d ƒ d ƒ st ‚ |  | d ƒ d d ƒ s!t ‚ |  | d ƒ d d d ƒ t k sHt ‚ |  | d ƒ d d ƒt k slt ‚ |  | d ƒ d	 d ƒsŠt ‚ |  | d d ƒ d ƒ t k s®t ‚ |  | d d ƒ d	 d ƒsÏt ‚ |  | d	 d ƒ d ƒ sít ‚ |  | d	 d ƒ d d
 d ƒst ‚ |  | d	 d ƒ d d ƒ t k s8t ‚ t j t d ƒ d d d ƒ} |  | ƒ t k snt ‚ |  | d
 d ƒt k sŒt ‚ t j t d ƒ ƒ } |  | ƒ s³t ‚ |  | d ƒ sÈt ‚ |  | d ƒ d ƒ sãt ‚ |  | d d ƒ d ƒ st ‚ |  | d d d ƒ d ƒ s"t ‚ |  | d d d d ƒ d ƒ sFt ‚ |  | d d d d ƒ d
 d ƒsmt ‚ |  | d d ƒ ƒ sˆt ‚ |  | d d ƒ d ƒ t k s¬t ‚ |  | d d ƒ d	 d ƒsÍt ‚ d  S(   Nc            s   ˆ  |  | | ƒ S(   N(    (   t   _funcR   R   (   R   (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   A  R   s	   x, y, z=0i   i   i   i   t   invalid_keywordR   R   R    s   x, y, *args, zi    (   R   t   toolzR    R   R   R   R3   (   R$   R%   R   (    (   R   s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_introspect_curry_valid_py3=  sH    $'$$!$'!$'$c           C   s   t  d t d t ƒ d  S(   NR$   R%   (   RL   R   R3   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt!   test_introspect_curry_partial_py3g  s    c          C   s!  t  s
 d  St j t d ƒ ƒ }  t |  ƒ d k s7 t ‚ t d |  ƒ sL t ‚ t |  ƒ t k sd t ‚ t	 |  ƒ t k s| t ‚ t j t d ƒ ƒ }  t |  ƒ d k s© t ‚ t d |  ƒ t k sÄ t ‚ t d |  ƒ t k sß t ‚ t |  ƒ t k s÷ t ‚ t	 |  ƒ s	t ‚ t j t d ƒ ƒ }  t |  ƒ d k s6t ‚ t d |  ƒ t k sQt ‚ t d |  ƒ t k slt ‚ t d |  ƒ t k s‡t ‚ t d |  ƒ t k s¢t ‚ t |  ƒ t k sºt ‚ t	 |  ƒ sÌt ‚ t j t d ƒ ƒ }  t |  ƒ d k sùt ‚ t |  ƒ st ‚ t	 |  ƒ st ‚ d  S(	   NR   i    R   i   s	   x, y, z=0i   i   s   *args, **kwargs(
   R   RK   R    R   R   R   R   R   R   R   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_introspect_curry_py3k  s2    c       	      s  t  t t t t t j t j t j t j g	 }  t	 ƒ  ‰  ‡  f d †  } | t  d ƒ | t  d ƒ | t  d ƒ | t  d ƒ ‡  f d †  } i  } xy |  D]q } | j
 } x_ t | ƒ j ƒ  D]K \ } } | | | | ƒ r· | | k rî g  | | <n  | | j | ƒ q· q· Wq• W| r‰g  } xN t | j ƒ  ƒ D]: \ } }	 d j | d j t |	 ƒ ƒ ƒ }
 | j |
 ƒ q)Wd	 } t | d
 j | ƒ ƒ ‚ n  d  S(   Nc            s,   t  |  | ƒ r( ˆ  j t |  | ƒ ƒ n  d  S(   N(   t   hasattrt   addt   getattr(   t   modt   attr(   t	   blacklist(    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   add_blacklist  s    t
   basestringt   NoneTypet   __metaclass__t   sequenceiteratorc            sÙ   | j  d ƒ r# | j  d ƒ r# t S| j  d ƒ sA | j d ƒ rE t Sy t | t ƒ r[ t SWn t k
 ro n XyP t | ƒ o¾ | j d  k	 o¾ |  | j k o¾ t	 | d i  ƒ t
 k	 o¾ | ˆ  k SWn t k
 rÔ t SXd  S(   Nt   _t   __t   __pyx_unpickle_t	   _cython__(    (   R   R   t   endswitht
   issubclasst   BaseExceptionR   t   callableR.   R1   R   R3   t   AttributeError(   t   modnamet   nameR   (   RT   (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt
   is_missing™  s"    s
   {}:
    {}s   
    s4   Missing introspection for the following callables:

s   

(   R   R8   t	   itertoolst   operatorRK   t	   functoolzt	   itertoolzt	   dicttoolzt   recipest   setR-   t   varst   itemst   appendRA   t   formatt   joinR   (   t   modsRU   Re   t   missingRR   Rc   Rd   R   t   messagest   namest   msgt   message(    (   RT   s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_introspect_builtin_modulesŠ  s0    		!c          C   sæ   t  s
 d  Sd t f d „  ƒ  Y}  |  d „  ƒ } t j | ƒ } | t j d t j d t j j ƒ t j d t j j ƒ g ƒ k s† t ‚ t |  ƒ t	 k sž t ‚ t
 j d d „  f ƒ f t
 j |  <t |  ƒ d	 k sØ t ‚ t
 j |  =d  S(
   Nt   AddXc           B   s)   e  Z d  „  Z d „  Z e d „  ƒ Z RS(   c         S   s   | |  _  d  S(   N(   R   (   R*   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   __init__Å  s    c         _   s   | |  j  | | Ž  S(   N(   R   (   R*   t   addxR   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR+   È  s    c         S   sb   t  j |  j ƒ } t | j j ƒ  ƒ } t  j j } t  j d | ƒ } | g | } | j d | ƒ S(   NR{   t
   parameters(	   t   inspectt	   signatureR   t   listR|   t   valuest	   Parametert   POSITIONAL_OR_KEYWORDt   replace(   R*   t   sigt   paramst   kindt   newparam(    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR,   Ë  s    (   R-   R.   Rz   R+   R/   R,   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyRy   Ä  s   		c         S   s   |  S(   N(    (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   Ô  R   R|   R{   R   i    c         S   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   Û  R   i   (   R   R0   R}   R~   t	   SignatureR   R‚   R   R   R   t   _sigst
   expand_sigt
   signatures(   Ry   R{   R„   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_inspect_signature_property½  s    '"c          C   s®   d t  f d „  ƒ  Y}  d „  } |  | ƒ } t rX t j | ƒ t j | ƒ k sX t ‚ n  t |  ƒ d  k sp t ‚ t j d d „  f ƒ f t j	 |  <t |  ƒ d k sª t ‚ d  S(   Nt   Wrappedc           B   s)   e  Z d  „  Z d „  Z e d „  ƒ Z RS(   c         S   s   | |  _  d  S(   N(   R   (   R*   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyRz   â  s    c         _   s   |  j  | | Ž  S(   N(   R   (   R*   R   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR+   å  s    c         S   s   |  j  S(   N(   R   (   R*   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   __wrapped__è  s    (   R-   R.   Rz   R+   R/   RŽ   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   á  s   		c         S   s   |  S(   N(    (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   ì  R   i    c         S   s   d  S(   N(   R1   (   R   (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyR   ò  R   i   (
   R0   R   R}   R~   R   R   R1   R‰   RŠ   R‹   (   R   R   t   wrapped(    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   test_inspect_wrapped_propertyà  s    	'"()   R8   R}   Rf   Rg   RK   t   toolz.functoolzR    R   R   R   R   R   R   t   toolz._signaturesR   t   _signaturesR‰   t   toolz.compatibilityR   t   toolz.utilsR	   R3   R   R   R   R&   R2   R4   R:   R;   R=   R?   RD   RE   RH   RL   RM   RN   Rx   RŒ   R   (    (    (    s<   lib/python2.7/site-packages/toolz/tests/test_inspect_args.pyt   <module>   s6   4	CX					
				*			3	#