ó
W¾÷Xc           @   sp  d  d l  Z  d  d l Z 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 m Z m Z d  d l m Z d  d l m Z m Z m Z y e Wn e k
 rá e Z n Xd e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e j f d „  ƒ  YZ  e! d k rle j" ƒ  n  d S(   iÿÿÿÿN(	   t   callt   DEFAULTt   patcht   sentinelt	   MagicMockt   Mockt   NonCallableMockt   NonCallableMagicMockt   create_autospec(   t	   _CallList(   t   callablet   is_instancet   nextt   Iterc           B   s)   e  Z d  „  Z d „  Z d „  Z e Z RS(   c         C   s   t  d d d d g ƒ |  _ d  S(   Nt   thist   ist   ant   iter(   R   t   thing(   t   self(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   __init__!   s    c         C   s   |  S(   N(    (   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   __iter__$   s    c         C   s   t  |  j ƒ S(   N(   R   R   (   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR   '   s    (   t   __name__t
   __module__R   R   R   t   __next__(    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR       s   			t	   Somethingc           B   s8   e  Z d d  „ Z e d d „ ƒ Z e d d „ ƒ Z RS(   c         C   s   d  S(   N(    (   R   t   at   bt   ct   d(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   meth.   s    c         C   s   d  S(   N(    (   t   clsR   R   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   cmeth1   s    c         C   s   d  S(   N(    (   R   R   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   smeth5   s    N(   R   R   t   NoneR   t   classmethodR    t   staticmethodR!   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR   -   s
   t   Subclassc           B   s   e  Z RS(    (   R   R   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR%   :   s   t   Thingc           B   s   e  Z d  Z d Z RS(   i   t   bar(   R   R   t	   attributet   foo(    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR&   >   s   t   MockTestc           B   sA  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 j d e j k d	 ƒ 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 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) d& „  Z* e
 j+ e, j- d' ƒ d( „  ƒ Z. e
 j+ e, j- d' ƒ d) „  ƒ Z/ d* „  Z0 d+ „  Z1 d, „  Z2 d- „  Z3 d. „  Z4 d/ „  Z5 d0 „  Z6 d1 „  Z7 d2 „  Z8 d3 „  Z9 d4 „  Z: d5 „  Z; d6 „  Z< d7 „  Z= d8 „  Z> d9 „  Z? d: „  Z@ d; „  ZA d< „  ZB d= „  ZC d> „  ZD d? „  ZE d@ „  ZF dA „  ZG dB „  ZH dC „  ZI dD „  ZJ dE „  ZK dF „  ZL dG „  ZM dH „  ZN dI „  ZO dJ „  ZP dK „  ZQ dL „  ZR dM „  ZS dN „  ZT dO „  ZU dP „  ZV dQ „  ZW dR „  ZX dS „  ZY dT „  ZZ e
 j[ dU „  ƒ Z\ RS(V   c         B   s   d d  Ud  S(   Ns   from mock import *(    (   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_allF   s    c         C   sæ   t  ƒ  } |  j | j d ƒ |  j | j d d ƒ |  j t | j t  ƒ d ƒ |  j | j d  d ƒ |  j | j
 g  d ƒ |  j | j g  d ƒ |  j d | j d	 ƒ |  j | j d
 ƒ |  j | j d ƒ |  j | j i  d ƒ d  S(   Ns    called not initialised correctlyi    s$   call_count not initialised correctlys&   return_value not initialised correctlys#   call_args not initialised correctlys(   call_args_list not initialised correctlys&   method_calls not initialised correctlyt   _itemss/   default mock should not have '_items' attributes    parent not initialised correctlys!   methods not initialised correctlys$   children not initialised incorrectly(   R   t   assertFalset   calledt   assertEqualt
   call_countt
   assertTrueR   t   return_valuet	   call_argsR"   t   call_args_listt   method_callst   assertNotInt   __dict__t   assertIsNonet   _mock_parentt   _mock_methodst   _mock_children(   R   t   mock(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_constructorM   s(    	c         C   s&   t  d d  ƒ } |  j | j d ƒ d  S(   NR2   s(   return value in constructor not honoured(   R   R"   R8   R2   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt    test_return_value_in_constructori   s    c         C   sP  t  d d ƒ } |  j d t | ƒ ƒ |  j d t | ƒ t | ƒ ƒ t  ƒ  d f t  d d ƒ d f g } xà | D]Ø \ } } |  j d | t | j ƒ ƒ |  j d | t | j ƒ  ƒ ƒ |  j d | t | j ƒ  j ƒ ƒ |  j d	 | t | ƒ  ƒ ƒ |  j d
 | t | ƒ  ƒ  ƒ ƒ |  j d | t | ƒ  ƒ  j j j ƒ  j ƒ ƒ qp Wd  S(   Nt   nameR)   s   '%s'R<   R'   s   %s.bars   %s.foo()s   %s.foo().bings   %s()s   %s()()s   %s()().foo.bar.baz().bing(   R   t   assertInt   reprt   idR'   R)   t   bingt   baz(   R   R<   t   mocksR?   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt	   test_repro   s     $ # c         C   sa  d t  f d „  ƒ  Y} t d | ƒ } |  j d t | ƒ ƒ t d | ƒ  ƒ } |  j d t | ƒ ƒ t d | ƒ } |  j d t | ƒ ƒ t d | ƒ  ƒ } |  j d t | ƒ ƒ t d | d d ƒ } |  j d t | ƒ ƒ |  j d	 t | ƒ ƒ t d d ƒ } |  j d t | ƒ ƒ t ƒ  } |  j d t | ƒ ƒ t d d g ƒ } |  j d t | ƒ ƒ d  S(
   Nt   Xc           B   s   e  Z RS(    (   R   R   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRG   €   s   t   specs
    spec='X' t   spec_sets    spec_set='X' R?   R)   s    name='foo' (   t   objectR   R@   RA   R6   (   R   RG   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_repr_with_spec   s$    	c            s  t  ƒ  } d „  } | | _ |  j t | d d d d ƒ| j d d d d ƒd d d g ‰  ‡  f d †  } | | _ |  j | ƒ  | ƒ  | ƒ  g d d d g d ƒ t  d t j ƒ } |  j | j t j d	 ƒ d
 „  } t  d | d t j ƒ } |  j | ƒ  t j ƒ d  S(   Nc          _   s   t  d ƒ ‚ d  S(   Nt   kablooie(   t   SystemError(   t   argst   kwargs(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   effect    s    i   i   t   fishi   c              s
   ˆ  j  ƒ  S(   N(   t   pop(    (   t   results(    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRP   ¨   s    s   side effect not used correctlyt   side_effects#   side effect in constructor not usedc           S   s   t  S(   N(   R   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRT   ³   s    R2   (	   R   RT   t   assertRaisesRM   t   assert_called_withR/   R   t
   SideEffectt   RETURN(   R   R<   RP   RT   (    (   RS   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_side_effect   s     				'	c            sÉ   d d d g ‰  ‡  f d †  } d „  } t  | ƒ } d d d g | _ |  j | ƒ  | ƒ  | ƒ  g d d d g d ƒ d d d g ‰  t  | ƒ } | | _ |  j | ƒ  | ƒ  | ƒ  g d d d g d ƒ d  S(   Ni   i   i   c              s
   ˆ  j  ƒ  S(   N(   RR   (    (   RS   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRP   »   s    c           S   s   d  S(   N(    (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   f½   s    s1   side effect not used correctly in create_autospecs'   callable side effect not used correctly(   R   RT   R/   (   R   RP   RZ   R<   (    (   RS   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_autospec_side_effect¸   s    	'	'c         C   s;   d „  } t  | ƒ } t d ƒ | _ |  j t d | ƒ d  S(   Nc           S   s   d  S(   N(    (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRZ   Í   s    s   Bazinga!(   R   t
   ValueErrorRT   t   assertRaisesRegex(   R   RZ   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt#   test_autospec_side_effect_exceptionË   s    	t   javas    This test only applies to Jythonc         C   s   d d  l  } t d | j j d ƒ ƒ } y | d d d d ƒWn | j j k
 rW n X|  j d ƒ | j d d d d ƒd  S(	   NiÿÿÿÿRT   s   Boom!i   i   RQ   i   s   java exception not raised(   R_   R   t   langt   RuntimeExceptiont   failRV   (   R   R_   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_java_exception_side_effectÔ   s    c         C   sØ  t  ƒ  } d g } t  d d d | d | ƒ } | t j d t j ƒ| j } | j ƒ  t j | _ | j } | ƒ  | j ƒ  |  j	 | j
 d d ƒ |  j	 | j | d ƒ |  j	 | j | d ƒ |  j | j d	 ƒ |  j	 | j d
 d ƒ |  j	 | j d  d ƒ |  j	 | j g  d ƒ |  j	 | j g  d | j g  f ƒ |  j	 | j g  ƒ |  j	 | j t j d ƒ |  j	 | j | d ƒ |  j | j d ƒ |  j	 | j i | d 6d ƒ |  j	 | j | d ƒ |  j | j j d ƒ d  S(   Nt	   somethingR?   t   childt   parentRH   s   name incorrectly resets   parent incorrectly resets   methods incorrectly resets   called not reseti    s   call_count not resets   call_args not resets   call_args_list not resets0   method_calls not initialised correctly: %r != %rs   side_effect incorrectly resets   return_value incorrectly resets   return value mock not resets   children reset incorrectlys   children incorrectly cleareds   child not reset(   R   R   R   t   SomethingElseRd   RW   RT   R2   t
   reset_mockR/   t
   _mock_nameR9   R:   R-   R.   R0   R3   R"   R4   R5   t
   mock_callsR;   (   R   Rf   RH   R<   Rd   R2   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_reset_mockä   sD    			
	
c         C   s    t  ƒ  } | | _ | j ƒ  d  S(   N(   R   R2   Rh   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_reset_mock_recursion  s    		c         C   s   t  j ƒ  } | j ƒ  d  S(   N(   R<   t	   mock_openRh   (   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt(   test_reset_mock_on_mock_open_issue_18622  s    c         C   s‹  t  ƒ  } |  j t | j t  ƒ d ƒ | ƒ  } |  j | ƒ  | d ƒ | j ƒ  | t j ƒ } |  j | j d ƒ |  j | j	 d d ƒ |  j | j
 t j f i  f d ƒ |  j | j t j f i  f g d ƒ t j | _ | t j d t j ƒ} |  j | t j d	 ƒ |  j | j	 d
 d ƒ |  j | j
 t j f i t j d 6f d ƒ |  j | j t j f i  f t j f i t j d 6f g d ƒ d  S(   Ns%   Default return_value should be a Mocks'   different result from consecutive callss   called not seti   s   call_count incoreects   call_args not sets(   call_args_list not initialised correctlyt   keys   incorrect return valuei   s   call_count incorrects   call_args_list not set(   R   R1   R   R2   R/   Rh   R   t   ArgR.   R0   R3   R4   t   ReturnValuet   KeyArg(   R   R<   t   resultt   ret_val(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt	   test_call  s4    		
c      	   C   sÑ   t  ƒ  } | ƒ  | t j ƒ | d t j ƒ | t j d t j ƒ|  j | j d t j f f i t j d 6f t j f i t j d 6f g ƒ |  j | j t j f i t j d 6f ƒ |  j | j d k ƒ d  S(   Nt   kws   a long sequence(    (   R   R   Rp   t   KwargR/   R4   R3   R-   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_call_args_comparison:  s    	 c         C   sŒ   t  ƒ  } | ƒ  | j ƒ  |  j t | j d ƒ | j ƒ  |  j t | j ƒ | d d d d d d d ƒ| j d d d d d d d ƒd  S(   Ni   i   i   R   RQ   R   t   nothing(   R   RV   RU   t   AssertionErrorRh   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_called_withM  s    	

c         C   sÙ   d  d „ } t d | ƒ } | d d d d d ƒ| j d d d ƒ | j d d d d d d ƒ |  j t | j d d d d d ƒ|  j t ƒ  } | j d	 d
 ƒ Wd  QXt | j d ƒ rÕ |  j | j j t	 ƒ n  d  S(   Nc         S   s   d  S(   N(    (   R   R   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRZ   ]  s    RH   i   R   i   R   i   R   t   ei   t	   __cause__(
   R"   R   RV   RU   Rz   t   hasattrt	   exceptiont   assertIsInstanceR}   t	   TypeError(   R   RZ   R<   t   cm(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt%   test_assert_called_with_function_spec\  s    c            s¨   ‡  f d †  } t  d t ƒ  j ƒ } | | ƒ t  d t j ƒ } | | ƒ t  d t ƒ  j ƒ } | | ƒ t  d t j ƒ } | | ƒ t  d t ƒ  j ƒ } | | ƒ d  S(   Nc            sk   |  d d d d d ƒ|  j  d d d ƒ |  j  d d d d d d ƒ ˆ  j t |  j  d d d d d ƒd  S(   Ni   R   i   R   i   R   (   RV   RU   Rz   (   R<   (   R   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   _checko  s
    RH   (   R   R   R   R    R!   (   R   R„   R<   (    (   R   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt#   test_assert_called_with_method_specn  s    



c            s´   t  ƒ  ‰  ˆ  ƒ  ˆ  j ƒ  ˆ  ƒ  |  j t ˆ  j ƒ ˆ  j ƒ  |  j t ˆ  j ƒ ˆ  d d d d ƒˆ  j d d d d ƒˆ  j ƒ  ˆ  d d d d ƒ|  j t ‡  f d †  ƒ d  S(   NR)   R'   RD   i   c              s   ˆ  j  d d d d ƒS(   Nt   bobR'   RD   i   (   t   assert_called_once_with(    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   <lambda>–  s    (   R   R‡   RU   Rz   Rh   (   R   (    (   R<   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_called_once_with‚  s    	


c         C   s!  d  d „ } t d | ƒ } | d d d d d ƒ| j d d d ƒ | j d d d d d d ƒ |  j t | j d d d d d ƒ|  j t ƒ  } | j d	 d
 ƒ Wd  QXt | j d ƒ rÕ |  j | j j t	 ƒ n  | d d d ƒ |  j t | j d d d ƒ |  j t | j d d d ƒ d  S(   Nc         S   s   d  S(   N(    (   R   R   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRZ   ›  s    RH   i   R   i   R   i   R   R|   i   R}   i   i   i   (
   R"   R   R‡   RU   Rz   R~   R   R€   R}   R   (   R   RZ   R<   R‚   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt*   test_assert_called_once_with_function_specš  s     c         C   s‰   t  ƒ  } | j } |  j t | t  ƒ d ƒ |  j | j | d ƒ t  ƒ  } d | j _ |  j | j ƒ  d d ƒ |  j | j j d ƒ d  S(   Ns   attribute isn't a mocks+   different attributes returned for same namei   s   method returned wrong values!   method didn't record being called(   R   Rd   R1   R   R/   R2   R.   (   R   R<   Rd   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt#   test_attribute_access_returns_mocks²  s    			c         C   sB   t  ƒ  } | j } |  j | j d d ƒ |  j | j | d ƒ d  S(   NRd   s    attribute name not set correctlys"   attribute parent not set correctly(   R   Rd   R/   Ri   R9   (   R   R<   Rd   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt(   test_attributes_have_name_and_parent_setÂ  s    		c         C   s§   t  ƒ  } | j d d d  ƒ| j j d d t j ƒ|  j | j j d d i t j d 6f g d ƒ |  j | j d d	 i d  d 6f d d
 i t j d 6f g d ƒ d  S(   Ni   RQ   i   t   cakeRd   s#   method calls not recorded correctlys   something_else.something(   i   (   i   (   i   (   R   Rd   R"   t   something_elseR   t   CakeR/   R5   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_method_calls_recordedÌ  s    	c         C   sA  t  ƒ  } | j ƒ  |  j | j d g ƒ |  j | j d d i  f g ƒ t  ƒ  } | j d ƒ |  j | j d d	 f g ƒ |  j | j d d
 i  f g ƒ t  ƒ  } | j d d ƒ |  j | j d i d d 6f g ƒ |  j | j d d i d d 6f g ƒ t  ƒ  } | j d d d ƒ|  j | j d d i d d 6f g ƒ d  S(   NRd   t	   differentt   xi   t   somet   more(   s	   something(    (   R‘   (   R‘   (    (   R‘   (   R   Rd   R/   R5   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt    test_method_calls_compare_easilyÛ  s"    	
		#&	c         C   sb   x[ d g d f D]J } xA d D]9 } t  i | | 6  } | j |  j t d t | d ƒ q Wq Wd  S(   NRd   RH   RI   s-   Mock object has no attribute 'something_else'RŽ   (   s	   something(   s   specs   spec_set(   R   Rd   R]   t   AttributeErrort   getattr(   R   RH   t   argR<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_only_allowed_methods_existó  s    c            sR   d t  f d „  ƒ  Y} ‡  f d †  } | t d | ƒ ƒ | t d | ƒ  ƒ ƒ d  S(   NR   c           B   s   e  Z d  Z d Z d „  Z RS(   i   c         S   s   d  S(   N(    (   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   y  s    N(   R   R   R’   R"   t   __something__Rš   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR     s   c            sK   |  j  |  j |  j ˆ  j t d t |  d ƒ ˆ  j t d t |  d ƒ d  S(   Ns    Mock object has no attribute 'z't   zs)   Mock object has no attribute '__foobar__'t
   __foobar__(   R’   Rš   R›   R]   R–   R—   (   R<   (   R   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_attributes  s    RH   (   RJ   R   (   R   R   Rž   (    (   R   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_from_spec  s    c         C   se   t  ƒ  } t  d | ƒ } |  j | ƒ  | ƒ  ƒ | j ƒ  | d d d d ƒ| j d d d d ƒd  S(   Nt   wrapsi   i   RQ   i   (   R   R/   Rh   RV   (   R   t   realR<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_wraps_calls  s    	
c         C   sH   t  ƒ  } t  d | ƒ } d | _ |  j | ƒ  d ƒ |  j | j ƒ d  S(   NR    i   (   R   R2   R/   R-   R.   (   R   R¡   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt,   test_wraps_call_with_nondefault_return_value(  s
    		c            sÍ   d t  f d „  ƒ  Y} | ƒ  } t d | ƒ ‰  |  j ˆ  j ƒ  | j ƒ  ƒ |  j t ‡  f d †  ƒ |  j ˆ  j | j ƒ ˆ  j j d d d d ƒ} | j j j d d d d ƒ|  j | | j j ƒ  ƒ d  S(	   Nt   Realc           B   s   e  Z e ƒ  Z RS(    (   R   R   R   R(   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR¤   3  s   R    c              s   ˆ  j  S(   N(   RQ   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   :  s    i   i   RQ   i   (	   RJ   R   R/   R(   RU   R–   t   assertNotEqualt   frogRV   (   R   R¤   R¡   Rs   (    (   R<   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_wraps_attributes2  s    	c         C   sH   t  d t ƒ } |  j t | ƒ t  d t d ƒ ƒ } |  j t | ƒ d  S(   NRT   R)   (   R   R–   RU   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_exceptional_side_effectB  s    c         C   sH   t  d t ƒ } |  j t | ƒ t  d t d ƒ ƒ } |  j t | ƒ d  S(   NRT   R)   (   R   t   KeyboardInterruptRU   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt    test_baseexceptional_side_effectJ  s    c         C   s#   t  ƒ  } |  j t d | j ƒ d  S(   Ns
   Not called(   R   R]   Rz   RV   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_called_with_messageR  s    	c         C   s)   t  d d ƒ } |  j t d | j ƒ d  S(   NR?   t   geoffreys'   Expected 'geoffrey' to be called once\.(   R   R]   Rz   R‡   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt$   test_assert_called_once_with_messageX  s    	c            sB   t  ƒ  ‰  |  j t ‡  f d †  ƒ d ˆ  _ |  j ˆ  j d ƒ d  S(   Nc              s   ˆ  j  S(   N(   R   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   a  s    R)   (   R   RU   R–   R   R/   (   R   (    (   R<   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test__name___  s    		c         C   se   d t  f d „  ƒ  Y} t d | d g ƒ ƒ } | j d ƒ | j j d ƒ |  j t t | d ƒ d  S(   Nt   Subc           B   s   e  Z RS(    (   R   R   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR¯   h  s   RH   R)   i   (   t   listR   t   appendRV   RU   R–   R—   (   R   R¯   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_spec_list_subclassg  s
    c         C   sÈ   d t  f d „  ƒ  Y} t d | ƒ } |  j | | ƒ t d | ƒ  ƒ } |  j | | ƒ |  j | j | ƒ |  j t ƒ  j j d ƒ t d | ƒ } |  j | | ƒ t d | ƒ  ƒ } |  j | | ƒ d  S(   NRG   c           B   s   e  Z RS(    (   R   R   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRG   r  s   RH   R   RI   (   RJ   R   R€   t   assertIst	   __class__R/   R   (   R   RG   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_spec_classq  s    c            si   d t  f d „  ƒ  Y} t d | ƒ ‰  d ˆ  _ t d | ƒ ‰  ‡  f d †  } d ˆ  _ |  j t | ƒ d  S(   NRG   c           B   s   e  Z d  Z RS(   i   (   R   R   Rš   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRG   †  s   RH   R)   RI   c              s   d ˆ  _  d  S(   NR)   (   R’   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   set_attr  s    (   RJ   R   R’   Rš   RU   R–   (   R   RG   R¶   (    (   R<   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt$   test_setting_attribute_with_spec_set…  s    		c         C   sF   t  j ƒ  } |  j t  j | ƒ t  j t d ƒ ƒ t j t ƒ  ƒ d  S(   Ng    eÍÍA(   t   syst   getrecursionlimitt
   addCleanupt   setrecursionlimitt   intt   copyR   (   R   t   current(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt	   test_copy”  s    s    no old style classes in Python 3c            s|   d d d „  ƒ  Y} t  d | ƒ ‰  d ˆ  _ |  j t ‡  f d †  ƒ t  d | ƒ  ƒ ‰  d ˆ  _ |  j t ‡  f d †  ƒ d  S(   Nt   Fooc           B   s   e  Z d  Z RS(   i   (   R   R   R'   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRÀ      s   RH   i   c              s   ˆ  j  S(   N(   R)   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   ¥  s    c              s   ˆ  j  S(   N(   R)   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   ©  s    (    (   R   R'   RU   R–   (   R   RÀ   (    (   R<   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_spec_old_style_classesž  s    		c            sº   d d	 d „  ƒ  Y} t  d | ƒ ‰  d ˆ  _ |  j t ‡  f d †  ƒ ‡  f d †  } |  j t | ƒ t  d | ƒ  ƒ ‰  d ˆ  _ |  j t ‡  f d †  ƒ ‡  f d †  } |  j t | ƒ d  S(
   NRÀ   c           B   s   e  Z d  Z RS(   i   (   R   R   R'   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRÀ   ®  s   RI   i   c              s   ˆ  j  S(   N(   R)   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   ³  s    c              s   d ˆ  _  d  S(   Ni   (   R)   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   _setµ  s    c              s   ˆ  j  S(   N(   R)   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   »  s    c              s   d ˆ  _  d  S(   Ni   (   R)   (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRÂ   ½  s    (    (   R   R'   RU   R–   (   R   RÀ   RÂ   (    (   R<   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_spec_set_old_style_classes¬  s    		c            sz   d t  f d „  ƒ  Y} | d | ƒ ‰  |  j ˆ  j d ƒ ‡  f d †  } |  j t | ƒ ‡  f d †  } |  j t | ƒ d  S(   Nt   SubClassc           B   s)   e  Z d  „  Z d „  Z e e e ƒ Z RS(   c         S   s   d S(   Ni   (    (   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   _getÄ  s    c         S   s   t  d ƒ ‚ d  S(   Ns   strange error(   t	   NameError(   R   t   value(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRÂ   Æ  s    (   R   R   RÅ   RÂ   t   propertyt   some_attribute(    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRÄ   Ã  s   		RI   i   c              s   d ˆ  _  d  S(   Ni   (   RÉ   (    (   t   s(    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   testÍ  s    c              s   d ˆ  _  d  S(   NR'   (   R)   (    (   RÊ   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRË   Ñ  s    (   R   R/   RÉ   RU   RÆ   R–   (   R   RÄ   RË   (    (   RÊ   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_subclass_with_propertiesÂ  s    c         C   sR   t  ƒ  } d „  } | t | ƒ _ | d ƒ | j d ƒ |  j t | d d ƒ d  S(   Nc         S   s   |  j  | ƒ S(   N(   t
   _mock_call(   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   __call__Ø  s    t   onet   two(   R   t   typeRÎ   RV   RU   R   (   R   R<   RÎ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_setting_callÖ  s    		
c         C   s  t  ƒ  } t t | ƒ ƒ } t g  t t  ƒ D] } | j d ƒ s+ | ^ q+ ƒ } |  j t ƒ  | | ƒ | j | j f |  j d t | ƒ ƒ |  j d t | ƒ ƒ d  | _	 | _
 |  j d t | ƒ ƒ |  j d t | ƒ ƒ d „  | _ |  j d t | ƒ ƒ d  S(   Nt   _R   R   R   R   c         S   s
   t  g  ƒ S(   N(   R   (   RÊ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   õ  s    R   (   R   t   sett   dirt
   startswithR/   R   R   R@   R"   R   R   R   (   R   R<   t   attrst   mt
   type_attrs(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_dirâ  s    	4c         C   s|   t  d t j ƒ } t t t j ƒ ƒ } t t | ƒ ƒ } |  j t ƒ  | | ƒ d | _ |  j t | ƒ j d ƒ d ƒ d  S(   NRH   i   t   versioni   (   R   t   unittestt   TestCaseRÔ   RÕ   R/   RÛ   t   count(   R   R<   t   testcase_attrsR×   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_dir_from_specù  s    	c         C   ss   t  j t d t ƒ } | j ƒ  zB t t t ƒ  ƒ ƒ } t t t ƒ ƒ } |  j t ƒ  | | ƒ Wd  | j	 ƒ  Xd  S(   Nt
   FILTER_DIR(
   R   RJ   R<   t   Falset   startRÔ   RÕ   R   R/   t   stop(   R   t   patcherR×   RÙ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_filter_dir  s    
c         C   s   t  d d ƒ } |  j | j d ƒ t d d ƒ } |  j | j d ƒ i t d 6d d 6t ƒ  d 6} t  |   } |  j t | ƒ |  j | j j ƒ  d ƒ |  j | j t ƒ t  ƒ  } | j |   |  j t | ƒ |  j | j j ƒ  d ƒ |  j | j t ƒ d  S(   NR)   R'   RT   i!   s   foo.bar.return_value(	   R   R/   R)   R   t   KeyErrorRU   R'   R€   t   configure_mock(   R   R<   RO   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_configure_mock  s    	c         O   so   y | | | Ž  Wn' t  j ƒ  d } |  j | | ƒ n X|  j d | f ƒ t | ƒ } |  j | | ƒ d  S(   Ni   s   Exception %r not raised(   R¸   t   exc_infoR€   Rb   t   strR/   (   R   R   t   messaget   funcRN   RO   t   instancet   msg(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   assertRaisesWithMsg(  s    c      
   C   s”  t  ƒ  } d } d } |  j t | | f | j d d d d d ƒ| j d d d d d ƒ| j j | j j g } xL | D]D } d } d	 } d
 } |  j t | | | f | d d d d d ƒqy WxC | D]; } d } d } d
 } |  j t | | | f | d d ƒqÈ WxF | D]> } d } d } d
 } |  j t | | | f | d d d ƒ qWx= | D]5 } d } d } d
 } |  j t | | | f | ƒ qWWd  S(   Ns   mock(1, '2', 3, bar='foo')s   Expected call: %s
Not calledi   t   2i   R'   R)   s   foo(1, '2', 3, foo='foo')s   foo(1, '2', 3, bar='foo')s!   Expected call: %s
Actual call: %ss   foo(bar='foo')s   foo(1, 2, 3)i   s   foo()(   R   Rð   Rz   RV   R)   R‡   (   R   R<   t   expectedRì   t	   assertersR   t   actual(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt'   test_assert_called_with_failure_message6  sF    	c      	   C   s  t  ƒ  } |  j | j g  k t ƒ t  ƒ  } | ƒ  d d i  f g } |  j | j | ƒ | j ƒ  | j t j ƒ  ƒ |  j | j | ƒ |  j | j j d d i  f g ƒ t  ƒ  } | ƒ  j d d d d d d d ƒd d i  f d	 d t d d d d ƒ f g } |  j | j | ƒ |  j | j	 j j d d t d d d d ƒ f g ƒ |  j | j	 j d
 d t d d d d ƒ f g ƒ t  ƒ  } | ƒ  j j
 ƒ  j ƒ  d d i  f d d i  f d d i  f g } |  j | j | ƒ |  j | ƒ  j t j j
 ƒ  j ƒ  j ƒ  ƒ xt ƒ  t d d ƒ f D]þ} t  |   } t | j ƒ d d i  f g } |  j | j | ƒ t  |   } | j ƒ  ƒ  d d i  f d d i  f g } |  j | j | ƒ |  j | j ƒ  j t ƒ  g ƒ t  |   } | d ƒ d ƒ d ƒ |  j | j t d ƒ d ƒ d ƒ j ƒ  ƒ |  j | ƒ  j t d ƒ d ƒ j ƒ  ƒ |  j | ƒ  ƒ  j t d ƒ j ƒ  ƒ t  |   } | d ƒ d ƒ d ƒ j j j d ƒ |  j | j t d ƒ d ƒ d ƒ j j j d ƒ j ƒ  ƒ |  j | ƒ  j t d ƒ d ƒ j j j d ƒ j ƒ  ƒ |  j | ƒ  ƒ  j t d ƒ j j j d ƒ j ƒ  ƒ t  |   } t | ƒ  j j
 ƒ  j ƒ  ƒ d d i  f } |  j | j d | ƒ |  j | ƒ  j t j j
 ƒ  j ƒ  j ƒ  j ƒ  ƒ |  j | ƒ  j j
 ƒ  j t j ƒ  j ƒ  j ƒ  ƒ |  j | ƒ  j j
 ƒ  j j t ƒ  j ƒ  j ƒ  ƒ qWd  S(    Nt    i   i   i   R   i   R   i   s   ().fooR)   s
   ().foo.bars   ().foo.bar().bazR?   R'   s   foo.__int__s   a()s   ().foo.bar().baz().__int__iÿÿÿÿ(    (    (    (   i   i   i   (   i   i   i   (   i   i   i   (    (    (    (    (    (    (    (   R   R³   Rj   t   TrueR/   R)   R±   R    t   dictR2   R'   RD   t	   call_listR¼   R   R   R   t   __int__(   R   R<   Rò   RO   t	   last_call(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_mock_callsm  st    		
"	"-""	+(%%.(""c         C   sŽ   d t  f d „  ƒ  Y} | ƒ  } |  j | j | ƒ |  j | ƒ  | ƒ d t  f d „  ƒ  Y} | ƒ  } |  j | j | ƒ |  j | ƒ  | ƒ d  S(   NR%   c           B   s   e  Z RS(    (   R   R   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR%   ¼  s   c           B   s   e  Z d  „  Z RS(   c         [   s
   t  |   S(   N(   R   (   R   RO   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   _get_child_mockÄ  s    (   R   R   Rý   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR%   Ã  s   (   R   R€   R)   t   assertNotIsInstance(   R   R%   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_subclassing»  s    		c            sà   t  ƒ  t ƒ  t ƒ  t ƒ  g } ‡  f d †  } x¬ | D]¤ } | | ƒ t | ƒ rˆ | ƒ  | d d ƒ | d d ƒ | j ƒ  | | ƒ n  | j ƒ  | j j d d d ƒ| j d ƒ j ƒ  j d ƒ | j ƒ  | | ƒ q4 Wd  S(   Nc            sZ   d } xM | D]E } t  |  | ƒ } ˆ  j | t ƒ ˆ  j | t ƒ ˆ  j | g  ƒ q Wd  S(   NR4   R5   Rj   (   s   call_args_lists   method_callss
   mock_calls(   R—   R€   R	   R°   R/   (   R<   t   namesR?   t   attr(   R   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   assert_attrsÔ  s    i   i   R   i   (	   R   R   R   R   R
   Rh   R)   R'   RD   (   R   RE   R  R<   (    (   R   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_arg_listsÌ  s$    



c         C   s  t  ƒ  } | d d d ƒ| d d d ƒ|  j t | j ƒ d ƒ | j \ } } |  j | d ƒ |  j | t d d ƒ ƒ d	 t d d ƒ f d
 t d d ƒ f g } xf t | | j ƒ D]R \ } } |  j t | ƒ d ƒ |  j | d | d ƒ |  j | d | d ƒ q· Wd  S(   Ni   R   i   i   R   i   i    (   i   (   i   (   i   (   R   R/   t   lenR3   Rø   t   zipR4   (   R   R<   RN   RO   t   expected_listRò   R3   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_call_args_two_tupleï  s    	*c         C   sˆ  t  d t d d d g ƒ ƒ } |  j | ƒ  | ƒ  | ƒ  g d d d g ƒ |  j t | ƒ t d d d d g ƒ } |  j | ƒ  | ƒ  | ƒ  g d d d g ƒ |  j t | ƒ t  d d ƒ } |  j | ƒ  | ƒ  | ƒ  g d	 d
 d g ƒ |  j t | ƒ d t f d „  ƒ  Y} t d | ƒ } |  j | ƒ  | ƒ t  d t ƒ  ƒ } |  j | ƒ  | ƒ  | ƒ  | ƒ  g d d d d g ƒ |  j t | ƒ d  S(   NRT   i   i   i   R   R   R   t   ghit   gt   ht   iRÀ   c           B   s   e  Z RS(    (   R   R   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRÀ     s   R   R   R   R   (	   R   R   R/   RU   t   StopIterationR   RJ   R€   R   (   R   R<   RÀ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_side_effect_iterator   s     +++!c         C   s`  t  ƒ  } t d d d g ƒ | _ |  j | ƒ  | ƒ  | ƒ  g d d d g ƒ |  j t | ƒ | j } |  j | t t g  ƒ ƒ ƒ d d d g | _ |  j | ƒ  | ƒ  | ƒ  g d d d g ƒ |  j t | ƒ | j } |  j | t t g  ƒ ƒ ƒ t ƒ  } | | _ |  j | ƒ  | ƒ  | ƒ  | ƒ  g d d d	 d
 g ƒ |  j t | ƒ |  j	 | j | ƒ d  S(   Ni   i   i   R   R   R   R   R   R   R   (
   R   R   RT   R/   RU   R  R€   RÑ   R   R³   (   R   R<   RT   t	   this_iter(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt!   test_side_effect_setting_iterator  s"    	+	+			!c         C   s‚   x{ t  t f D]m } t d t d f } | d | ƒ } |  j t | ƒ |  j | ƒ  d ƒ |  j t | ƒ |  j | ƒ  d ƒ q Wd  S(   Ni   i   RT   (   R   R   R\   Rç   RU   R/   (   R   t   Klasst   iterableRØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt$   test_side_effect_iterator_exceptions.  s    c         C   sJ   t  d d ƒ } t d t g ƒ | _ |  j | ƒ  | ƒ  g d d g ƒ d  S(   NR2   i   i   (   R   R   R   RT   R/   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt!   test_side_effect_iterator_default8  s    c         C   sŒ  t  ƒ  } | d d ƒ | d d ƒ | d d ƒ | d d ƒ | d d ƒ t d d ƒ i d d 6f d d i d d 6f d d f d i d d 6f d d i  f d d i d d 6f g } x$ | D] } | j | g d	 t ƒq» WxT t d d
 ƒ t d d ƒ t ƒ  d d  d f D]% } |  j t | j | g d	 t ƒq	Wt d d ƒ t d d ƒ g t d d ƒ t d d ƒ g t d d ƒ t d d ƒ g g } x! | D] } | j | d	 t ƒqWt d d ƒ t d d ƒ t d d ƒ g t d d ƒ t d d ƒ g t d d ƒ t d d ƒ t d d ƒ g t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ g g } x* | D]" } |  j t | j | d	 t ƒqbWd  S(   Ni   i   R   i   i   R   i   Rö   t	   any_orderRñ   R)   i   i   (   i   i   (   (   i   i   (    (   i   i   (   i   i   (    (   R   R    t   assert_has_callsR÷   R"   RU   Rz   (   R   R<   t   kallst   kallt
   kall_listst	   kall_list(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_has_calls_any_order=  s:    	%4	!''E	c   	   	   C   s5  t  d d ƒ i d d 6f d t  d d ƒ d d i d d 6f g } t  j ƒ  t  j d ƒ g } | j t  j ƒ  j d d ƒ j ƒ  ƒ | j t  j t ƒ  d	 i  ƒj	 d g ƒ j ƒ  ƒ g  } xq t
 ƒ  t ƒ  f D]] } | d d ƒ | d d ƒ | d d ƒ | d d ƒ | d d d ƒ| j | | f ƒ qË Wt
 ƒ  } | j ƒ  | j d ƒ | j ƒ  j d d ƒ | j t ƒ  d	 i  ƒj	 d g ƒ | j | | f ƒ x— | D] \ } } x€ t t | ƒ ƒ D]l } xc d D][ } | | | | !} | j | ƒ t | ƒ d k rÊ|  j t | j t t | ƒ ƒ ƒ qÊqÊWq½WqžWd  S(   Ni   i   i   R   i   R   i   Rö   R)   (   i   i   (   (   i   i   (   i   (   i   i   i   (   R    R)   R'   t   extendt   spamRD   Rù   t   bamRÔ   RQ   R   R   R±   t   rangeR  R  RU   Rz   R°   t   reversed(	   R   t   kalls1t   kalls2RE   R<   R  R  t   stept   these(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_has_callsi  s<    %1	
"c      	   C   sÃ  d  d „ } t d | ƒ } | d d d d d ƒ| d d	 d d
 d d ƒ| d d d d ƒd d i  f d d i d d 6f d i  f g } | j | ƒ | j | d t ƒ| j | d ƒ | j | d d t ƒ| j | d  ƒ | j | d  d t ƒt t | ƒ ƒ } |  j t ƒ  | j | ƒ Wd  QX| j | d t ƒ|  j t ƒ  | j | d ƒ Wd  QX| j | d d t ƒ|  j t ƒ  | j | d  ƒ Wd  QX| j | d  d t ƒd  S(   Nc         S   s   d  S(   N(    (   R   R   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRZ   ’  s    RH   i   R   i   R   i   i   i   i   R   i   i
   i   i   Rö   R  iÿÿÿÿ(   i   i   i   (   i   i   i   (   i
   i   i   (   R"   R   R  R÷   R°   R  RU   Rz   (   R   RZ   R<   t   calls(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt(   test_assert_has_calls_with_function_spec‘  s0    c         C   s¯   t  ƒ  } | d d ƒ | d d ƒ | d d d ƒ| j d d ƒ | j d d ƒ | j d d d ƒ|  j t | j ƒ |  j t | j d d ƒ |  j t | j d d ƒd  S(   Ni   i   R   i   R   i   i   (   R   t   assert_any_callRU   Rz   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_any_call²  s$    	

	c      	   C   s*  d  d „ } t d | ƒ } | d d d d d ƒ| d d	 d d
 d d ƒ| j d d d ƒ | j d d d d d d ƒ | j d d	 d
 d ƒ | j d d d d	 d d
 d d ƒ |  j t | j d d d d d ƒ|  j t ƒ  } | j d d ƒ Wd  QXt | j d ƒ r&|  j | j j t	 ƒ n  d  S(   Nc         S   s   d  S(   N(    (   R   R   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRZ   Í  s    RH   i   R   i   R   i   i   i   i   R   i   R   R|   i   R}   (
   R"   R   R'  RU   Rz   R~   R   R€   R}   R   (   R   RZ   R<   R‚   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt'   test_assert_any_call_with_function_specÌ  s    "c         C   s   d „  } t  ƒ  } | | _ t | ƒ t | ƒ j g } xS | D]K } | d d ƒ | d d ƒ |  j | j t d d ƒ t d d ƒ g ƒ q= Wd  S(   Nc         S   s   d  S(   N(    (   R   R   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRZ   â  s    i   i   i   i   (   R   RZ   R   R/   Rj   R    (   R   RZ   t   objt   funcsRí   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_mock_calls_create_autospecá  s    				c         C   s2   t  j t ƒ  d d ƒ} |  j d t | ƒ ƒ d  S(   NR?   t
   sweet_func(   R<   R   RJ   R@   RA   (   R   RØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_create_autospec_with_nameô  s    c         C   sp   t  ƒ  } |  j t ƒ  | j ƒ  Wd  QX|  j t ƒ  | j ƒ  Wd  QXt  d t ƒ } | j ƒ  | j ƒ  d  S(   Nt   unsafe(   R   RU   R–   t   assert_foo_callt   assret_foo_callR÷   (   R   RØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_mock_unsafeù  s    	
c         C   sG   t  ƒ  } | j j ƒ  | j ƒ  |  j t ƒ  | j j ƒ  Wd  QXd  S(   N(   R   t   hellot   assert_not_calledRU   Rz   (   R   RØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_not_called  s
    	
c         C   s^   t  ƒ  } |  j t ƒ  | j j ƒ  Wd  QX| j ƒ  | j j ƒ  | j ƒ  | j j ƒ  d  S(   N(   R   RU   Rz   R3  t   assert_called(   R   RØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_called  s    	

c         C   st   t  ƒ  } |  j t ƒ  | j j ƒ  Wd  QX| j ƒ  | j j ƒ  | j ƒ  |  j t ƒ  | j j ƒ  Wd  QXd  S(   N(   R   RU   Rz   R3  t   assert_called_once(   R   RØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_assert_called_once  s    	

c         C   sE   t  ƒ  } | j d d d d ƒ d } |  j t | j j ƒ | ƒ d  S(   NR?   R3  t   daddyt   heros    call(daddy='hero', name='hello')(   R   R3  R/   RA   R3   (   R   RØ   t   text(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_sorted_call_signature!  s    	c         C   ss   t  j ƒ  } t  j d d ƒ } t ƒ  } | j ƒ  | j d d ƒ |  j | j d | ƒ |  j | j d | ƒ d  S(   Ni„   R3  i    i   (   R    RÞ   t   indexR   R/   R5   (   R   R   R  RØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_override_tuple_methods(  s    	
c   	   
      s  d t  f d „  ƒ  Y} d t  f d „  ƒ  Y} d t  f d „  ƒ  Y‰  t t t t g } xF t | ƒ D]8 } | j | ‡  f d † ƒ | j | ‡  f d † ƒ qa Wxx| D]p} xgt ƒ  t d	 t ƒ f D]M} | ƒ  } | j	 | j
 | j f x%| | f d
 g d g f g D]\ } } xö t ƒ  t d	 t ƒ f D]Ü } | j | |  | j	 |  j t t | d ƒ |  j t t | d ƒ d	 | k r|  j t t | d d  ƒ n  | j | |  |  j t t | d
 ƒ | j
 |  j t t | d ƒ d	 | k r,|  j t t | d d  ƒ q,q,WqWqÃ Wq¤ Wd  S(   Nt   _Onec           B   s   e  Z d  Z RS(   i   (   R   R   RÏ   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR@  2  s   t   _Twoc           B   s   e  Z d  Z RS(   i   (   R   R   RÐ   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRA  4  s   t   Anythingc           B   s   e  Z d  Z Z Z RS(   t   four(   R   R   RÏ   RÐ   t   three(    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRB  6  s   c            s   |  d ˆ  ƒ S(   NRH   (    (   t   K(   RB  (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   =  s    c            s   |  d ˆ  ƒ S(   NRI   (    (   RE  (   RB  (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   >  s    RI   RÏ   RÐ   RD  (   RJ   R   R   R   R   R°   R±   Rø   R÷   RÏ   RÐ   RD  t   mock_add_specRU   R–   R—   t   setattrR"   (	   R   R@  RA  t   klassesR  RO   R<   t   Onet   Two(    (   RB  s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_mock_add_spec1  s>    	+c            s§   x  t  t f D]’ } | ƒ  ‰  t ˆ  ƒ ˆ  j t ƒ |  j t t ˆ  ƒ | ƒ  ‰  ˆ  d d ˆ  j _ ˆ  j t ƒ |  j	 t ˆ  ƒ d ƒ |  j t ‡  f d †  ƒ q Wd  S(   NR)   i   c              s   ˆ  d S(   NR)   (    (    (   R<   (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   t  s    (
   R   R   R¼   RF  RJ   RU   R   Rú   R2   R/   (   R   R  (    (   R<   s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt    test_mock_add_spec_magic_methodsf  s    	
	c         C   s  xt  t t t f D]ð } | ƒ  } t ƒ  | _ | j ƒ  |  j | j t j ƒ  g ƒ |  j | j t j ƒ  g ƒ | ƒ  } t d d ƒ | _	 | j	 ƒ  |  j | j g  ƒ |  j | j g  ƒ | ƒ  } t ƒ  ƒ  | _
 | j
 ƒ  |  j | j g  ƒ |  j | j g  ƒ q Wd  S(   NR?   (   R   R   R   R   R)   R/   R5   R    Rj   R'   RD   (   R   R  R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_adding_child_mockw  s     	
	
	
c         C   s\   xU t  t f D]G } | ƒ  } t ƒ  | _ | ƒ  ƒ  |  j | j t ƒ  t ƒ  ƒ  g ƒ q Wd  S(   N(   R   R   R2   R/   Rj   R    (   R   R  R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_adding_return_value_mock  s
    	
c         C   sØ   d t  f d „  ƒ  Y} t ƒ  } t j  | d ƒ } t j  | d ƒ } | j ƒ  } |  j | j ƒ | j ƒ  } |  j | j ƒ | j | d ƒ | j | d ƒ | j ƒ  | j ƒ  |  j	 | j
 t j ƒ  t j ƒ  g ƒ d  S(   NRÀ   c           B   s   e  Z d  Z d Z RS(   RÏ   RÐ   (   R   R   RÏ   RÐ   (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRÀ   ™  s   RÏ   RÐ   (   RJ   R   R   Rã   Rº   Rä   t   attach_mockRÐ   RÏ   R/   Rj   R    (   R   RÀ   t   managert   p1t   p2t   mock_onet   mock_two(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_manager_mock˜  s    	

c         C   s”   x t  t f D] } | ƒ  } t  d d ƒ | _ t d d ƒ | _ t | ƒ t | ƒ |  j | j t j ƒ  t j ƒ  g ƒ |  j | j	 g  ƒ q Wd  S(   NR2   i   g      @(
   R   R   Rú   t	   __float__R¼   t   floatR/   Rj   R    R5   (   R   R  RØ   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_magic_methods_mock_calls®  s    	

%c         C   sV   t  j d d ƒ } | d ƒ } | j ƒ  } | d ƒ } | j ƒ  } |  j | | ƒ d  S(   Nt	   read_datat   datas   a-names   another-name(   R<   Rm   t   readR/   (   R   t   mocked_opent   f1t   f1_datat   f2t   f2_data(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt    test_mock_open_reuse_issue_21750¹  s    c         C   sr   t  j t  j d d ƒ ƒ } t  j d | ƒ ? | j } | j } t d ƒ | _ d „  } |  j t | ƒ Wd  QXd  S(   NR?   t   JLVs   tempfile.NamedTemporaryFiles   Test 2 Errorc           S   s   t  j ƒ  j d ƒ d  S(   Nt   asd(   t   tempfilet   NamedTemporaryFilet   write(    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   attemptÈ  s    (	   R<   Rm   R   R   R2   Rf  t   OSErrorRT   RU   (   R   t   mock_namedtempt   mock_filehandlet
   mock_writeRg  (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_mock_open_writeÁ  s    			c         C   sf   t  j d d ƒ } d „  | j j _ | ƒ  j ƒ  } | ƒ  j ƒ  } |  j d | ƒ |  j d | ƒ d  S(   NRY  s   foo
barnc          W   s   d S(   Nt   abc(    (   RN   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyRˆ   Î  s    Rm  (   R<   Rm   R2   t   readlineRT   R/   (   R   t   mopent   firstt   second(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_mock_open_alter_readlineÌ  s    c         C   sw  xpt  t f D]b} | ƒ  } t | ƒ } | | _ |  j | ƒ  | ƒ |  j t | ƒ | ƒ | j ƒ  |  j | ƒ  | ƒ |  j t | ƒ | ƒ | ƒ  } | j | _ |  j	 d t | j ƒ ƒ |  j	 d t | j ƒ ƒ | j ƒ  |  j	 d t | j ƒ ƒ |  j	 d t | j ƒ ƒ | ƒ  } t | ƒ } | ƒ  | _ | | j _ |  j t | ƒ | ƒ |  j t | j ƒ  ƒ | ƒ q Wd  S(   Ns   name='mock.a'(
   R   R   RA   R2   R³   R/   Rh   R   R   R@   (   R   R  RØ   t   original_repr(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_mock_parentsÔ  s,    		
	
	c         C   sÝ   t  t t t f } xÄ | D]¼ } x³ | D]« } | ƒ  } | d d ƒ } | j | d ƒ |  j | j | ƒ |  j d t | ƒ ƒ | j j	 d ƒ |  j
 | j t j j	 d ƒ g ƒ |  j
 | j t j j	 d ƒ g ƒ q& Wq Wd  S(   NR?   R)   R'   s   name='mock.bar'i   (   R   R   R   R   RO  R³   R'   R@   RA   RD   R/   Rj   R    R5   (   R   t   classesR  t   Klass2RØ   t   m2(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_attach_mockñ  s    	"c         C   s»   t  t t t f } x¢ t  t f D]” } x‹ | D]ƒ } | ƒ  } | d d ƒ } | j | d ƒ |  j | ƒ  | ƒ |  j d t | ƒ ƒ | j ƒ  |  j	 | j
 t ƒ  j ƒ  j ƒ  ƒ q, Wq Wd  S(   NR?   R)   R2   s   name='mock()'(   R   R   R   R   RO  R³   R@   RA   R)   R/   Rj   R    Rù   (   R   Ru  R  Rv  RØ   Rw  (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_attach_mock_return_value  s    	
c         C   s‘   xŠ t  ƒ  t ƒ  t ƒ  t ƒ  f D]j } |  j t | d ƒ ƒ | ` |  j t | d ƒ ƒ | ` |  j t | d ƒ ƒ |  j	 t
 t | d ƒ q Wd  S(   NRØ   RZ   (   R   R   R   R   R1   R~   RØ   R-   RZ   RU   R–   R—   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_attribute_deletion  s    c         C   sQ   xJ t  ƒ  t ƒ  f D]6 } |  j | t ƒ t | _ |  j | t ƒ | j q Wd  S(   N(   R   R   Rþ   R¼   R´   R€   R)   (   R   R<   (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_class_assignable  s
    	c         C   sÜ   xÕ t  t t t f D]Á } | d d d d ƒ } | j d d d ƒ t j | ƒ } t j | ƒ } | j j d d d ƒ |  j	 | j
 ƒ |  j t | | ƒ ƒ |  j | t ƒ |  j d t | ƒ ƒ |  j | j d ƒ q Wd  S(   NR?   R)   R(   i   i   i   s
   name="foo"(   R   R   R%   R   R)   t   picklet   dumpst   loadsR‡   R-   R.   R1   R   R€   R&   R@   RA   R/   R(   (   R   R  R<   RZ  t   new(    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   test_pickle(  s    (]   R   R   R+   R=   R>   RF   RK   RY   R[   R^   RÜ   t
   skipUnlessR¸   t   platformRc   Rk   Rl   Rn   Ru   Rx   R{   Rƒ   R…   R‰   RŠ   R‹   RŒ   R   R•   R™   RŸ   R¢   R£   R§   R¨   Rª   R«   R­   R®   R²   Rµ   R·   R¿   t   skipIft   sixt   PY3RÁ   RÃ   RÌ   RÒ   RÚ   Rà   Ræ   Ré   Rð   Rõ   Rü   Rÿ   R  R  R  R  R  R  R  R$  R&  R(  R)  R,  R.  R2  R5  R7  R9  R=  R?  RK  RL  RM  RN  RU  RX  Ra  Rl  Rr  Rt  Rx  Ry  Rz  R{  t   expectedFailureR€  (    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyR*   D   s¨   										)			"								
						
							
			
								7	N		#				
		,	(	!							
					5															t   __main__(#   R½   R|  R¸   Rd  R„  t	   unittest2RÜ   R<   R    R   R   R   R   R   R   R   R   t	   mock.mockR	   t   mock.tests.supportR
   R   R   t   unicodeRÆ   Rë   RJ   R   R   R%   R&   RÝ   R*   R   t   main(    (    (    s1   /tmp/pip-build-h1VYrz/mock/mock/tests/testmock.pyt   <module>   s2   @
ÿ ÿ ÿ ÿ ÿ ù