ó
ûR‹_c           @   sn   d  d l  m Z d  d l m Z m Z m Z m Z d  d l m Z m	 Z	 m
 Z
 m Z d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   TestCase(   t   Mockt	   MagicMockt   patcht   DEFAULT(   t   wrapt   comparet   log_capturet
   LogCapturet   TestWrapc           B   s†   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z RS(   c            s…   t  ƒ  ‰  t ˆ  j ˆ  j ƒ ‡  f d †  ƒ } t ˆ  j g  ƒ t | ƒ  d ƒ t ˆ  j d d i  f d d i  f d d i  f g ƒ d  S(	   Nc            s   ˆ  j  ƒ  d S(   Nt	   something(   t   test(   t   r(   t   m(    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_function   s    
R
   t   beforeR   t   after(    (    (    (   R   R   R   R   R   t   method_calls(   t   selfR   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrapping
   s    	$	c         C   sR   t  ƒ  } t | ƒ d „  ƒ } |  j | j ƒ t | ƒ  d ƒ t | j d ƒ d  S(   Nc           S   s   d S(   NR
   (    (    (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR      s    R
   i   (   R   R   t   assertFalset   calledR   t
   call_count(   R   R   R   (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrapping_only_before   s
    	c            s‘   t  ƒ  ‰  d ˆ  j _ t ˆ  j ˆ  j ƒ ‡  f d †  ƒ } t ˆ  j g  ƒ t | ƒ  d ƒ t ˆ  j d d i  f d d i  f d d	 i  f g ƒ d  S(
   NR
   c            s   ˆ  j  |  ƒ d |  S(   Ns   r:(   R   (   R   (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR   ,   s    s   r:somethingR   R   R   (    (   R
   (    (   R   R   t   return_valueR   R   R   R   (   R   R   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrapping_wants_return'   s    	$	c      	      sÁ   d d l  m } t ƒ  ‰  t | ˆ  j d d d ƒ| ˆ  j d d d ƒƒ ‡  f d	 †  ƒ } t ˆ  j g  ƒ t | ƒ  d
 ƒ t ˆ  j d d i d d 6f d d i  f d d i d d 6f g ƒ d  S(   Niÿÿÿÿ(   t   partiali   t   xi   i   t   yi   c            s   ˆ  j  ƒ  d S(   NR
   (   R   (   R   (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR   B   s    
R
   R   R   R   (   i   (    (   i   (   t	   functoolsR   R   R   R   R   R   R   (   R   R   R   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrapping_wants_arguments9   s    	B	c      	      s²   t  ƒ  ‰  t ˆ  j ˆ  j ƒ t ˆ  j ˆ  j ƒ ‡  f d †  ƒ ƒ } t ˆ  j g  ƒ t | ƒ  d ƒ t ˆ  j d d i  f d d	 i  f d d
 i  f d d i  f d d i  f g ƒ d  S(   Nc              s   ˆ  j  ƒ  d S(   NR
   (   R   (    (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR   S   s    
R
   t   before1t   before2R   t   after2t   after1(    (    (    (    (    (   R   R   R    R!   R   R"   R   R   (   R   R   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_multiple_wrappersO   s    	'	c      	      sÊ   t  ƒ  ‰  d ˆ  j _ d ˆ  j _ t ˆ  j ˆ  j ƒ t ˆ  j ˆ  j ƒ ‡  f d †  ƒ ƒ } t ˆ  j g  ƒ t | ƒ  d ƒ t ˆ  j d d
 i  f d d i  f d d i  f d d i  f d	 d i  f g ƒ d  S(   Ni   i   c            s   ˆ  j  |  | ƒ d S(   NR
   (   R   (   t   r1t   r2(   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR   i   s    R
   R   R    R   R!   R"   (    (    (   i   i   (    (    (	   R   R   R   R    R   R!   R"   R   R   (   R   R   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt#   test_multiple_wrappers_wants_returnc   s    	'	c      	      s¾   t  ƒ  ‰  d ˆ  j _ t ˆ  j ˆ  j ƒ t ˆ  j ˆ  j ƒ ‡  f d †  ƒ ƒ } t ˆ  j g  ƒ t | ƒ  d ƒ t ˆ  j d d	 i  f d d
 i  f d d i  f d d i  f d d i  f g ƒ d  S(   Ni   c            s   ˆ  j  |  ƒ d S(   NR
   (   R   (   R$   (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR   ~   s    R
   R   R    R   R!   R"   (    (    (   i   (    (    (	   R   R   R   R   R    R!   R"   R   R   (   R   R   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt-   test_multiple_wrappers_only_want_first_returny   s    	'	c            sg   t  ƒ  ‰  d d ‡  f d †  ƒ  Y} | ƒ  j ƒ  t ˆ  j d d i  f d d i  f d d	 i  f g ƒ d  S(
   Nt   Tc              s,   e  Z e ˆ  j ˆ  j ƒ ‡  f d  †  ƒ Z RS(   c            s   ˆ  j  ƒ  d  S(   N(   t   method(   R   (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR)   “   s    (   t   __name__t
   __module__R   R   R   R)   (    (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR(   ’   s   R   R)   R   (    (    (    (    (   R   R)   R   R   (   R   R(   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrap_methodŽ   s    		c            ss   t  ƒ  ‰  d ˆ  j _ d d ‡  f d †  ƒ  Y} | ƒ  j ƒ  t ˆ  j d d i  f d d	 i  f d d
 i  f g ƒ d  S(   Nt   returnR(   c              s,   e  Z e ˆ  j ˆ  j ƒ ‡  f d  †  ƒ Z RS(   c            s   ˆ  j  | ƒ d  S(   N(   R)   (   R   R   (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR)   ¥   s    (   R*   R+   R   R   R   R)   (    (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR(   ¤   s   R   R)   R   (    (    (   R-   (    (   R   R   R   R)   R   R   (   R   R(   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrap_method_wants_returnŸ   s    		c      
      s  t  ƒ  ‰  t ˆ  j ˆ  j ƒ ‡  f d †  ƒ } t ˆ  j ˆ  j ƒ ‡  f d †  ƒ } t ˆ  j g  ƒ t | ƒ  d ƒ t ˆ  j d d	 i  f d d
 i  f d d i  f g ƒ t | ƒ  d ƒ t ˆ  j d d i  f d d i  f d d i  f d d i  f d d i  f d d i  f g ƒ d  S(   Nc              s   ˆ  j  ƒ  d S(   Nt
   something1(   R/   (    (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_function1µ   s    
c              s   ˆ  j  ƒ  d S(   Nt
   something2(   R1   (    (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_function2º   s    
R/   R   R"   R1   R    R!   (    (    (    (    (    (    (    (    (    (   R   R   R   R"   R    R!   R   R   (   R   R0   R2   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt!   test_wrapping_different_functions±   s"    	$$		c            s…   t  ƒ  ‰  t ˆ  j ˆ  j ƒ ‡  f d †  ƒ } t ˆ  j g  ƒ t | ƒ  d ƒ t ˆ  j d d i  f d d i  f d d i  f g ƒ d  S(	   Nc             s   d }  ˆ  j  ƒ  d S(   Ni   R
   (   R   (   R
   (   R   (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR   Ô   s    
R
   R   R   R   (    (    (    (   R   R   R   R   R   R   (   R   R   (    (   R   sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrapping_local_varsÐ   s    	$	c         C   s;   t  ƒ  } t | j | j ƒ d „  ƒ } t | j d ƒ d  S(   Nc           S   s   d  S(   N(    (    (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR   æ   s    R   (   R   R   R   R   R   R*   (   R   R   R   (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_wrapping__name__â   s    	c         C   s2   t  j d d t ƒt ƒ  d „  ƒ ƒ } | ƒ  d  S(   Ns   testfixtures.tests.sample1t   Xc         S   sP   d d l  m } t |  t ƒ s% t ‚ t | t ƒ s: t ‚ | | k sL t ‚ d  S(   Niÿÿÿÿ(   R6   (   t   testfixtures.tests.sample1R6   t
   isinstanceR   t   AssertionErrorR   (   t   logR6   t
   imported_X(    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   patchedî   s    (   R   t   multipleR   R   (   R   R<   (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt%   test_our_wrap_dealing_with_mock_patchì   s    c         C   s3   t  d i d d 6ƒ t ƒ  d „  ƒ ƒ } | ƒ  d  S(   Ns   testfixtures.tests.sample1.Xi   R   c         S   sB   t  |  t ƒ s t ‚ d d l m } | i d d 6k s> t ‚ d  S(   Niÿÿÿÿ(   R6   i   R   (   R8   R   R9   R7   R6   (   R:   R6   (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR<   ù   s    (   R   R   (   R   R<   (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   test_patch_with_dictø   s    (   R*   R+   R   R   R   R   R#   R&   R'   R,   R.   R3   R4   R5   R>   R?   (    (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyR	      s   												
	N(   t   unittestR    t   testfixtures.mockR   R   R   R   t   testfixturesR   R   R   R   R	   (    (    (    sU   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_wrap.pyt   <module>   s   ""