ó
W¾÷Xc           @   s	  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 m Z d  d l m Z d e f d „  ƒ  YZ d e j f d „  ƒ  YZ d	 e j f d
 „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ e d k re j ƒ  n  d S(   iÿÿÿÿN(   t   callt   create_autospect	   MagicMockt   Mockt   ANYt   patcht   PropertyMock(   t   _Callt	   _CallList(   t   datetimet	   SomeClassc           B   s&   e  Z d  „  Z d „  Z d d „ Z RS(   c         C   s   d  S(   N(    (   t   selft   at   b(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   one   s    c         C   s   d  S(   N(    (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   two   s    c         C   s   d  S(   N(    (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   three   s    N(   t   __name__t
   __module__R   R   t   NoneR   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR
      s   		t   AnyTestc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s]   |  j  t t ƒ  ƒ t ƒ  } | t ƒ | j t ƒ t ƒ  } | d t ƒ | j d t ƒ d  S(   Nt   foo(   t   assertEqualR   t   objectR   t   assert_called_with(   R   t   mock(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_any   s    	
	c         C   s0   |  j  t t ƒ d ƒ |  j  t t ƒ d ƒ d  S(   Ns   <ANY>(   R   t   reprR   t   str(   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt	   test_repr'   s    c         C   s<   t  ƒ  } | t j ƒ  d t j ƒ  ƒ| j t d t ƒd  S(   NR   (   R   R	   t   nowR   R   (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_any_and_datetime,   s    	c      	   C   s  t  ƒ  } t j ƒ  } d t f d „  ƒ  Y} xæ t j ƒ  | ƒ  f D]Ï } | j ƒ  | | d | d | ƒ| j | d | d | ƒ| ƒ  j d | d | ƒ t t d t d t ƒt j t d t d t ƒt ƒ  t ƒ  j d t d t ƒ g } |  j | | j	 ƒ |  j | j	 | ƒ qA Wd  S(	   Nt   Fooc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   t  S(   N(   t   False(   R   t   other(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   __eq__7   s    c         S   s   t  S(   N(   t   True(   R   R"   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   __ne__9   s    (   R   R   R#   R%   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    6   s   	R   t   bart   zingat   alphat   a1t   z99(
   R   R	   R   R   t
   reset_mockt   methodR    R   R   t
   mock_calls(   R   R   t   dR    t   expected(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt$   test_any_mock_calls_comparison_order3   s    	
$(   R   R   R   R   R   R0   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR      s   			t   CallTestc           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 d „  Z d „  Z d „  Z RS(   c         C   s  t  ƒ  } |  j | t  ƒ  ƒ |  j | t  d ƒ ƒ |  j | t  d ƒ ƒ |  j | t  i  f ƒ ƒ |  j | t  d d f ƒ ƒ |  j | t  d i  f ƒ ƒ |  j | t  d d i  f ƒ ƒ |  j | t  d ƒ ƒ |  j | t  d d f ƒ ƒ |  j | t  d i  f ƒ ƒ |  j | t  d d i  f ƒ ƒ t  d ƒ } |  j | t  d ƒ ƒ |  j | t  d d f ƒ ƒ |  j | t  d i  f ƒ ƒ |  j | t  d d i  f ƒ ƒ t  d ƒ } |  j | t  d d f ƒ ƒ |  j | t  d d i  f ƒ ƒ t  d d f ƒ } |  j | t  d d f ƒ ƒ |  j | t  d d  i  f ƒ ƒ |  j | t  d d! f ƒ ƒ |  j | t  d d" i  f ƒ ƒ t  i d d
 6f ƒ } |  j | t  d d# i d d
 6f ƒ ƒ |  j | t  d i d d
 6f ƒ ƒ |  j | t  d$ i d d
 6f ƒ ƒ |  j | t  i d d
 6f ƒ ƒ d  S(%   Nt    R   R&   t   bazt   spami   i   i   i   R   (   R2   (    (   (    (    (    (   s   foo(    (    (   i   i   i   (   (   i   i   i   (   i   i   i   (   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (    (    (   R   R   t   assertNotEqual(   R   t   kall(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_with_callO   s<    	&##c         C   s•   t  ƒ  } |  j | d ƒ |  j | d ƒ |  j | d ƒ |  j | d d f ƒ |  j | d d i  f ƒ |  j | d i  f ƒ |  j | i  f ƒ d  S(   NR   (    (   s   foo(    (   (    (    (    (   R   R   (   R   t   args(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_empty__Callt   s    	c         C   sÝ   t  d d i  f ƒ } |  j | d ƒ |  j | d d f ƒ |  j | d d i  f ƒ |  j | d i  f ƒ |  j | d ƒ |  j | d	 ƒ |  j | i  f ƒ |  j | d
 ƒ |  j | d d f ƒ |  j | d i  f ƒ d  S(   NR   R&   (    (   s   foo(    (    (    (   (    (    (   s   bar(    (   R   R   R5   (   R   R8   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_named_empty_call€   s    c         C   sk   t  d i  f ƒ } |  j | d ƒ |  j | d d f ƒ |  j | d d	 i  f ƒ |  j | d
 i  f ƒ d  S(   Ni   i   i   R   (   i   i   i   (   i   i   i   (   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   R   (   R   R8   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_with_args   s
    c         C   sn   t  d d i  f ƒ } |  j | d d f ƒ |  j | d d i  f ƒ |  j | d	 ƒ |  j | d
 i  f ƒ d  S(   NR   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   (   i   i   i   (   i   i   i   (   R   R   R5   (   R   R8   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_named_call_with_args™   s
    c      	   C   s¹   t  d t d d d d ƒ f ƒ } |  j | t d d d d ƒ f ƒ |  j | d t d d d d ƒ f ƒ |  j | d d t d d d d ƒ f ƒ |  j | d t d d d d ƒ f ƒ d  S(	   NR   i   R   i   R   (    (    (    (   R   t   dictR   (   R   R8   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_with_kwargs£   s
    !"%(c      	   C   s¼   t  d d t d d d d ƒ f ƒ } |  j | d t d d d d ƒ f ƒ |  j | d d t d d d d ƒ f ƒ |  j | t d d d d ƒ f ƒ |  j | d t d d d d ƒ f ƒ d  S(	   NR   R   i   R   i   (    (    (    (   R   R=   R   R5   (   R   R8   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_named_call_with_kwargs¬   s
    $%("c         C   sm   t  d i  f ƒ } |  j | t d d d ƒ ƒ |  j t d d d ƒ | ƒ |  j t d d d ƒ | g ƒ d  S(   Ni   i   i   (   i   i   i   (   R   R   R    t   assertIn(   R   R8   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt#   test_call_with_args_call_empty_name¶   s    c         C   ss   |  j  t d ƒ t d d ƒ ƒ |  j t d ƒ t d d d ƒ k ƒ |  j t d i  f ƒ t d d d ƒ k ƒ d  S(	   Ni   i   i   (   i   i   i   (   (   i   i   i   (   i   i   i   (   (   i   i   i   (   i   i   (   R5   R   R    t   assertFalset
   assertTrue(   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_ne½   s    %c         C   sP   t  d ƒ } x= d d  |  t f D]) } |  j | | ƒ |  j | | k ƒ q Wd  S(   Ni   i   i   (   i   i   i   (   (   i   i   i   (   R   R   t   intR5   RB   (   R   R6   t   value(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_non_tuplesÃ   s    c         C   sï  |  j  t t ƒ  ƒ d ƒ |  j  t t d ƒ ƒ d ƒ |  j  t t d i d d 6f ƒ ƒ d	 ƒ |  j  t t d
 d i d d 6f ƒ ƒ d ƒ |  j  t t ƒ d ƒ |  j  t t ƒ d ƒ |  j  t t ƒ  ƒ d ƒ |  j  t t d ƒ ƒ d ƒ |  j  t t d d ƒ ƒ d ƒ |  j  t t ƒ  j ƒ d ƒ |  j  t t d ƒ j j d d ƒ j ƒ d ƒ |  j  t t ƒ  j d d d d ƒƒ d ƒ |  j  t t ƒ  ƒ  ƒ d ƒ |  j  t t d ƒ d ƒ ƒ d ƒ |  j  t t ƒ  ƒ  j ƒ  j j	 d ƒ ƒ d ƒ d  S(   Ns   call()R   s
   call.foo()i   i   i   R   R   s   call(1, 2, 3, a='b')R&   s   call.bar(1, 2, 3, a='b')R    s   call(1)t   zzt   things   call(zz='thing')s
   call().foos   call().foo.bar().bings   call().foo(1, 2, a=3)s   call()()s	   call()(2)s   call()().bar().baz.beep(1)(   s   foo(   i   i   i   (   i   i   i   (
   R   R   R   R    R   R   R&   t   bingR3   t   beep(   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR   Ê   s,    "%'"!c         C   s¼   |  j  t ƒ  d d i  f ƒ |  j  t d d d d d d ƒd d i d d 6d d 6f ƒ t ƒ  } | d d	 d ƒ | d
 d d d ƒ |  j  | j t d d	 d ƒ t d
 d d d ƒ g ƒ d  S(   NR2   R   R&   R   i   R   i   i   i   R   R   i   (    (   s   foos   bar(   R   R    R   t   call_args_list(   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt	   test_callé   s    	c         C   sÇ   |  j  t j d ƒ d d i  f ƒ |  j  t j j d d ƒ d d i d d 6f ƒ t ƒ  } | j d d d ƒ | j j d d d	 d
 ƒ |  j  | j t j d d d ƒ t j j d d d	 d
 ƒ g ƒ d  S(   Ni   R   t   fisht   eggss   bar.bazi   i   R   R   i   (   i   (    (   R   R    R   R&   R3   R   t   method_calls(   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_attribute_callô   s    "	c      	   C   sŽ  t  d ƒ j d ƒ j d d d ƒ} |  j | d d
 t d d ƒ f ƒ t ƒ  } | d d d d d d ƒ|  j | j t  d d d d d d ƒƒ |  j | j t  d d d ƒ ƒ |  j | j t  d d d d d d ƒg ƒ |  j | j	 t  d d d d d d ƒg ƒ t ƒ  } | j d ƒ j ƒ  ƒ  j
 j d d ƒ t  j d ƒ j ƒ  ƒ  j
 j d d ƒ } |  j | j	 d	 | ƒ |  j | j	 | j ƒ  ƒ d  S(   Ni   i   i   R   i   s   ().foo().barR   i   iÿÿÿÿ(   i   (   R    R   R&   R   R=   R   t	   call_argsR5   RL   R-   R3   RK   t	   call_list(   R   t   resultR   t	   last_call(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_extended_call   s    $"	(++	%'c         C   sV  t  ƒ  } | d ƒ |  j t d ƒ j ƒ  | j ƒ t  ƒ  } | d ƒ j d ƒ |  j t d ƒ j d ƒ j ƒ  | j ƒ t  ƒ  } | d ƒ j d ƒ d ƒ |  j t d ƒ j d ƒ d ƒ j ƒ  | j ƒ t  ƒ  } t | d ƒ j d ƒ d ƒ j j j	 d ƒ d ƒ ƒ t d ƒ j d ƒ d ƒ j j j	 d ƒ d ƒ j
 ƒ  } |  j | j ƒ  | j ƒ d  S(   Ni   i   i   i   i   (   R   R   R    RS   R-   R,   RE   R   R&   R3   t   __int__(   R   R   R6   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_list  s    	
	
	$
	46c         C   sS   |  j  t t ƒ t ƒ  } t | ƒ |  j  | j t g ƒ |  j  t g | j ƒ d  S(   N(   R   R    R   R   RE   R-   (   R   t   m(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_any)  s
    	
c         C   s‘   t  d i d d 6f d t ƒ} |  j t | ƒ d ƒ |  j | d d ƒ |  j | d i d d 6ƒ t  d	 i d d 6f ƒ } |  j | | ƒ d  S(
   Ni   i   i   R   R   i    (   i   i   (   i   i   (   i   i   (   R   R$   R   t   len(   R   R8   t
   other_args(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_two_args_call2  s    (   R   R   R7   R9   R:   R;   R<   R>   R?   RA   RD   RG   R   RM   RQ   RV   RX   RZ   R]   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR1   M   s"   	%					
			
										t   SpecSignatureTestc           B   sŽ  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z e j d „  ƒ Z	 d „  Z
 e j e j d ƒ 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 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j e j d ƒ d „  ƒ Z  d „  Z! e j e j d ƒ d „  ƒ Z" d „  Z# d „  Z$ d  „  Z% d! „  Z& d" „  Z' d# „  Z( RS($   c         C   s>  |  j  t t | d ƒ | j d d ƒ | j j d d ƒ |  j  t | j j d d ƒ |  j  t | j d ƒ | j ƒ  | j j ƒ  |  j  t | j j d ƒ |  j  t | j d ƒ | j ƒ  | j j ƒ  |  j  t | j j d ƒ |  j  t | j d d ƒ | j d ƒ | j j d ƒ | j d d ƒ | j j d d ƒ d  S(   NR   i   i   i   i   R   (	   t   assertRaisest   AttributeErrort   getattrR   R   t   AssertionErrort	   TypeErrorR   R   (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   _check_someclass_mock>  s(    	
	
	c         C   s9   t  t ƒ } |  j | ƒ t  t ƒ  ƒ } |  j | ƒ d  S(   N(   R   R
   Rd   (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt
   test_basicY  s    c         C   sm   d „  } t  | d d ƒ} |  j | ƒ  d ƒ d t f d „  ƒ  Y} t  | d d ƒ} |  j | ƒ  d ƒ d  S(   Nc           S   s   d  S(   N(    (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   fa  s    t   return_valueR   R    c           B   s   e  Z RS(    (   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    f  s   (   R   R   R   (   R   Rf   R   R    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt!   test_create_autospec_return_value`  s    	c         C   s:   t  t ƒ } t | ƒ | j ƒ  |  j | j j d ƒ d  S(   Ni    (   R   RE   R+   R   RW   t
   call_count(   R   RY   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_autospec_reset_mockm  s    

c         C   sU   d t  f d „  ƒ  Y} t j  | d ƒ } | j ƒ  } | ƒ  j d ƒ | j d ƒ d  S(   NR    c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR   v  s    (   R   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    u  s   R   i   (   R   R   t   startR   R   (   R   R    t   pt   mock_foo(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_mocking_unbound_methodst  s
    c         C   su   d t  f d „  ƒ  Y} t | ƒ } | ƒ  } |  j t | j d ƒ | j d ƒ | j j d ƒ |  j t | j ƒ d  S(   NR    c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR   ƒ  s    (   R   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    ‚  s   i   (   R   R   R_   Rc   R   R   (   R   R    t   klasst   instance(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt$   test_create_autospec_unbound_methods  s    	c         C   s?   d t  f d „  ƒ  Y} t | d d ƒ} |  j | j d ƒ d  S(   NR    c           B   s   e  Z d  Z RS(   i   (   R   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    ‘  s   R   t   3(   R   R   R   R   (   R   R    RY   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt&   test_create_autospec_keyword_arguments  s    s(   Keyword only arguments Python 3 specificc         B   s„   d } i  } | | f d  U| d } e  | ƒ } | d ƒ | j d ƒ |  j e | d d ƒ | d d d ƒ| j d d d ƒd  S(   Ns    def foo(a, *, b=None):
    pass
R   i   i   R   i   (   R   R   R_   Rc   (   R   t   func_deft	   namespaceR   RY   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt+   test_create_autospec_keyword_only_arguments–  s    

c         C   sH   t  ƒ  } d „  } | | _ t | ƒ } | j d ƒ | j j d ƒ d  S(   Nc         S   s   d  S(   N(    (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRf   §  s    RJ   (   R
   Rf   R   R   (   R   t   objRf   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt#   test_function_as_instance_attribute¥  s    			c         C   s¡   t  g  ƒ } | j d ƒ | j j d ƒ |  j t t | d ƒ d t f d „  ƒ  Y} t  | ƒ } | j j d ƒ | j j j d ƒ |  j t t | j d ƒ d  S(   NR   R    c           B   s   e  Z g  Z RS(    (   R   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    ¹  s   i   (   R   t   appendR   R_   R`   Ra   R   R   (   R   R   R    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_spec_as_list°  s    c         C   sM   d t  f d „  ƒ  Y} t | ƒ } x$ | | j f D] } |  j | ƒ q2 Wd  S(   Nt   Subc           B   s   e  Z e ƒ  Z RS(    (   R   R   R
   t   attr(    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR{   Ã  s   (   R
   R   R|   Rd   (   R   R{   t   sub_mockR   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_attributesÂ  s    c         C   s)  d t  f d „  ƒ  Y} t | ƒ } | j d ƒ | j j d ƒ |  j t t | j d ƒ | j d ƒ | j j d ƒ |  j t | j d d ƒ |  j t t | j d ƒ | j	 d d g ƒ | j	 j d d g ƒ |  j t t | j	 d ƒ | j
 j d ƒ | j
 j j d ƒ |  j t t | j
 d ƒ d  S(   Nt   BuiltinSubclassc           B   s   e  Z d  „  Z e Z i  Z RS(   c         S   s   d  S(   N(    (   R   t   arg(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR&   Ñ  s    (   R   R   R&   t   sortedR|   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR   Ð  s   	i   R   R&   i   i   (   t   listR   Ry   R   R_   R`   Ra   R&   Rc   R   R|   t   pop(   R   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_builtin_functions_typesÌ  s    c         C   s  d t  f d „  ƒ  Y} t | ƒ } | j d d ƒ | j ƒ  | j d ƒ t j d d ƒ t j ƒ  t j d ƒ g } |  j | j | ƒ | j j d d ƒ | j j ƒ  | j j d ƒ | j	 t j j d d ƒ t j j ƒ  t j j d ƒ g ƒ |  j | j | ƒ d  S(   NR{   c           B   s   e  Z e ƒ  Z RS(    (   R   R   R
   R|   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR{   ê  s   i   i   i   (
   R
   R   R   R   R   R    R   RP   R|   t   extend(   R   R{   R   R/   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_method_callsé  s    
*4c         C   s¦   d t  f d „  ƒ  Y} t | ƒ } |  j t  | ƒ g  ƒ |  j t t | ƒ |  j t t | j ƒ |  j t  | ƒ g  ƒ |  j | d t ƒ |  j | j d t ƒ d  S(   NR   c           B   s   e  Z i  Z RS(    (   R   R   R|   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR      s   R   (	   R‚   R   R   R_   Rc   RE   R|   t   assertIsInstanceR   (   R   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_magic_methodsÿ  s    c         C   sˆ   d t  f d „  ƒ  Y} xk | | ƒ  f D]Z } t | d t ƒ} |  j | ƒ |  j t t | d d ƒ |  j t t | j d d ƒ q& Wd  S(   NR{   c           B   s   e  Z e ƒ  Z RS(    (   R   R   R
   R|   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR{     s   t   spec_setR   R&   (   R
   R   R$   Rd   R_   R`   t   setattrR|   (   R   R{   t   specR   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_spec_set  s    c         C   sÇ   d t  f d „  ƒ  Y} d | f d „  ƒ  Y} d t | f d „  ƒ  Y} x{ | | ƒ  | | ƒ  | | ƒ  f D]X } t | ƒ } | j d d ƒ | j j d d ƒ | j d	 d
 ƒ | j j d	 d
 ƒ qg Wd  S(   NR    c           B   s&   e  Z e d  „  ƒ Z e d „  ƒ Z RS(   c         S   s   d  S(   N(    (   t   clsR   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRf     s    c         S   s   d  S(   N(    (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   g  s    (   R   R   t   classmethodRf   t   staticmethodRŽ   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR      s   t   Barc           B   s   e  Z RS(    (   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR‘   "  s   t   Bazc           B   s   e  Z RS(    (   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR’   %  s   i   i   i   i   (   R   R
   R   Rf   t   assert_called_once_withRŽ   (   R   R    R‘   R’   R‹   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_descriptors  s    (s    No old style classes in Python 3c            sö   d d d „  ƒ  Y‰  d ˆ  f ‡  f d †  ƒ  Y} x~ ˆ  ˆ  ƒ  | | ƒ  f D]d } t  | ƒ } | j d d ƒ | j j d d ƒ |  j t t | d ƒ |  j t t | j d ƒ qH W| j j d d ƒ | j j j d d ƒ |  j t t | j d ƒ d  S(	   NR    c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRf   4  s    (   R   R   Rf   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    3  s   R‘   c              s   e  Z ˆ  ƒ  Z RS(    (   R   R   RŽ   (    (   R    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR‘   7  s   i   i   R   (    (   R   Rf   R“   R_   R`   Ra   RŽ   (   R   R‘   R‹   R   (    (   R    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_old_style_classes1  s    c         C   sÚ   d t  f d „  ƒ  Y} | | _ t | ƒ } | ƒ  |  j | j j ƒ | j ƒ  | j j ƒ  |  j | j t j ƒ  t j j ƒ  g ƒ |  j	 | j
 | j ƒ |  j | j
 | j ƒ | j
 j ƒ  |  j t | j j j ƒ d  S(   Nt   Ac           B   s   e  Z d  „  Z d Z e Z RS(   c         S   s   d  S(   N(    (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR   I  s    s   foo bar baz(   R   R   R   R   R&   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR–   H  s   	(   R   t   BR   RB   t   calledR   R   RP   R    t   assertIsR   R&   t   assertIsNott   lowerR_   Rb   R   (   R   R–   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_recursiveG  s    	
(c         C   sã  d t  f d „  ƒ  Y} t | ƒ } |  j | | ƒ  ƒ xy | | ƒ  f D]h } | j d d ƒ | j j d d ƒ | j j d ƒ |  j t | j d d ƒ |  j t t | d ƒ qE Wt | ƒ  ƒ } | j d ƒ | j j d ƒ | j j d d ƒ |  j t | j d d ƒ |  j t t | d ƒ |  j t | ƒ | j	 j
 d ƒ | j	 j
 j d ƒ | j	 j
 j d	 d ƒ |  j t t | j	 d
 ƒ | j	 ƒ  j
 d ƒ | j	 ƒ  j
 j d ƒ | j	 ƒ  j
 j d	 d ƒ |  j t t | j	 ƒ  d
 ƒ d  S(   NR    c           B   s'   e  Z d  „  Z d e f d „  ƒ  YZ RS(   c         S   s   d  S(   N(    (   R   t   x(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR   `  s    R‘   c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   t   y(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRf   c  s    (   R   R   Rf   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR‘   b  s   (   R   R   R   R   R‘   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    _  s   	R   i   R   R&   R   i   Rž   RŽ   (   R   R   Rš   R   R   R_   Rc   R`   Ra   R‘   Rf   (   R   R    t
   class_mockt	   this_mockt   instance_mock(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt!   test_spec_inheritance_for_classes^  s0    c         C   sÇ   d t  f d „  ƒ  Y} | | _ t | ƒ } | ƒ  } |  j t t | d ƒ | j ƒ  } |  j t t | d ƒ t | ƒ  ƒ } |  j t t | d ƒ |  j t | ƒ | j ƒ  } |  j t t | d ƒ d  S(   NR    c           B   s   e  Z d  Z RS(   i   (   R   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    ‡  s   R   (   R   R    R   R_   R`   Ra   Rc   (   R   R    R   Rp   t   attr_instancet   call_result(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_inherit†  s    		c         C   s§   t  d ƒ t  t ƒ t  d ƒ t  t ƒ t  i  ƒ t  t ƒ t  g  ƒ t  t ƒ t  t ƒ  ƒ t  t ƒ t  d ƒ t  t ƒ t  d ƒ t  t ƒ t  t ƒ t  t	 ƒ d  S(   Ni   R   g      ð?y              ð?(
   R   RE   R   R=   R‚   t   sett   floatt   complexR!   R$   (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_builtinsž  s     













c         C   sÓ   d „  } t  | ƒ } |  j t | ƒ | d d ƒ | j d d ƒ | j d d d ƒ| j d d d d ƒ | | _ t  | ƒ } |  j t | j ƒ | j d d ƒ | j j d d ƒ | j j d d d d ƒ d  S(   Nc         S   s   d  S(   N(    (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRf   ´  s    i   i   R   R   i   i   (   R   R_   Rc   R   Rf   (   R   Rf   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_function³  s    		c            s   d t  f d „  ƒ  Y‰  d t  f ‡  f d †  ƒ  Y} t | ƒ ‰ |  j t ‡ f d †  ƒ ˆ j d d ƒ |  j t ‡ f d †  ƒ ˆ j } | j | j f d  S(	   Nt   Raiserc           B   s   e  Z d d  „ Z RS(   c         S   s   | d  k r t d ƒ ‚ n  d  S(   Ns$   Can only be accessed via an instance(   R   R`   (   R   Rw   t   type(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   __get__È  s    N(   R   R   R   R­   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR«   Ç  s   t   RaiserClassc              s    e  Z ˆ  ƒ  Z e d  „  ƒ Z RS(   c         S   s   |  | S(   N(    (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   existingÏ  s    (   R   R   t   raiserR   R¯   (    (   R«   (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR®   Ì  s   	c            s   ˆ  j  d d d ƒ S(   Ni   i   i   (   R¯   (   R   (   t   s(    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   <lambda>Ô  s    i   i   c              s   ˆ  j  S(   N(   t   nonexisting(    (   R±   (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR²   Ö  s    (	   R   R   R_   Rc   R¯   R`   R°   R   R&   (   R   R®   Rw   (    (   R«   R±   s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_skip_attributeerrorsÆ  s    	c         C   sj   d t  f d „  ƒ  Y} t | ƒ } |  j t | ƒ | d ƒ | j d ƒ | d d ƒ | j d d ƒ d  S(   NR    c           B   s   e  Z d  d „ Z RS(   i   c         S   s   d  S(   N(    (   R   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   __init__ß  s    (   R   R   Rµ   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    Þ  s   i   i   i   (   R   R   R_   Rc   R“   R   (   R   R    R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_signature_classÝ  s    
s    no old style classes in Python 3c         C   sÂ   d d	 d „  ƒ  Y} t  | ƒ } |  j t | ƒ | d ƒ | j d ƒ | j d d ƒ |  j t | j d ƒ | d d ƒ | j d d ƒ | j d d d d ƒ |  j t | j d d d d ƒd  S(
   NR    c           B   s   e  Z d  d „ Z RS(   i   c         S   s   d  S(   N(    (   R   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRµ   ï  s    (   R   R   Rµ   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    î  s   i   R   i   i   i   R   (    (   R   R_   Rc   R“   Rb   R   (   R   R    R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_signature_old_style_classì  s    
c         C   s$   d t  f d „  ƒ  Y} t | ƒ d  S(   NR    c           B   s   e  Z RS(    (   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR      s   (   R   R   (   R   R    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_class_with_no_init   s    c         C   s!   d d d „  ƒ  Y} t  | ƒ d  S(   NR    c           B   s   e  Z RS(    (   R   R   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR      s   (    (   R   (   R   R    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt!   test_old_style_class_with_no_init  s    c         C   s5  d t  f d „  ƒ  Y} t | ƒ } | d d ƒ | j d d ƒ | j d d d d ƒ |  j t | d ƒ | d d ƒ } |  j t | ƒ | d d ƒ | j d ƒ | j d d ƒ | d ƒ | j d ƒ | j d d ƒ t | d d ƒ ƒ } | d d ƒ | j d d ƒ |  j t | ƒ | d ƒ | j d ƒ d  S(   Nt   Callablec           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   d  S(   N(    (   R   R   Rž   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRµ     s    c         S   s   d  S(   N(    (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   __call__  s    (   R   R   Rµ   R»   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRº     s   	i   i   R   Rž   R   (   R   R   R“   R_   Rc   R   (   R   Rº   R   Rp   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_signature_callable  s(    

c         C   s¡   d t  f d „  ƒ  Y} t | ƒ } | ƒ  } | j ƒ  |  j t | d ƒ |  j t | ƒ |  j t | d ƒ t | ƒ  ƒ } |  j t | ƒ |  j t | d ƒ d  S(   Nt   NonCallablec           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRµ   1  s    (   R   R   Rµ   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR½   0  s   R   (   R   R   R“   R_   Rc   (   R   R½   R   Rp   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_signature_noncallable/  s    	
c         C   s\   d t  f d „  ƒ  Y} t | ƒ } | j } |  j | t d  ƒ ƒ | j ƒ  | j j ƒ  d  S(   NR    c           B   s   e  Z d  Z RS(   N(   R   R   R   R&   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    A  s   (   R   R   R&   t   assertNotIsInstanceR¬   R   R   R“   (   R   R    R   t   none(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_create_autospec_none@  s    	
c         C   s‰   d t  f d „  ƒ  Y} t | ƒ } | j d ƒ | j j d ƒ | j j d d ƒ | j d d ƒ | j j d ƒ | j j d d ƒ d  S(   NR    c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRf   N  s    (   R   R   Rf   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    M  s   i
   R   (   R   R   Rf   R   (   R   R    R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt.   test_autospec_functions_with_self_in_odd_placeL  s    c         C   s‹   d t  f d „  ƒ  Y} t | ƒ } | j } |  j | t ƒ | d d d ƒ | j d d d ƒ | j d d d ƒ | j j d d d ƒ d  S(	   NR    c           B   s   e  Z e d  „  ƒ Z RS(   c         S   s   d S(   Ni   (    (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR   \  s    (   R   R   t   propertyR   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    [  s   i   i   i   i   i   i   (   R   R   R   R‡   R   t   abcR“   (   R   R    R   t   mock_property(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_autospec_propertyZ  s    	c         C   s{   d t  f d „  ƒ  Y} t | ƒ } | j } | d d d ƒ | j d d d ƒ | j d d d ƒ | j j d d d ƒ d  S(	   NR    c           B   s   e  Z d  g Z RS(   R   (   R   R   t	   __slots__(    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR    l  s   i   i   i   i   i   i   (   R   R   R   RÄ   R“   (   R   R    R   t	   mock_slot(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_autospec_slotsk  s    	()   R   R   Rd   Re   Rh   Rj   Rn   t   unittestt   expectedFailureRq   Rs   t
   skipUnlesst   sixt   PY3Rv   Rx   Rz   R~   R„   R†   Rˆ   RŒ   R”   t   skipIfR•   Rœ   R¢   R¥   R©   Rª   R´   R¶   R·   R¸   R¹   R¼   R¾   RÁ   RÂ   RÆ   RÉ   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR^   <  sB   									
							(												t   TestCallListc           B   sJ   e  Z d  „  Z d „  Z e j e j d ƒ d „  ƒ Z d „  Z	 d „  Z
 RS(   c         C   s•  t  ƒ  } |  j | j t ƒ | d d ƒ | d d ƒ | d d ƒ | d d ƒ xQ t d d ƒ t d d ƒ t d d ƒ t d d ƒ f D] } |  j | | j ƒ q‡ Wt d d ƒ t d d ƒ g } |  j | | j ƒ t d d ƒ t d d ƒ g } |  j | | j ƒ t d d ƒ t d d ƒ g } |  j | | j ƒ t d d ƒ g } |  j | | j ƒ |  j t d ƒ | j ƒ |  j t d ƒ g | j ƒ d  S(	   Ni   i   R   i   i   R   i   RN   (   R   R‡   RL   R   R    R@   t   assertNotIn(   R   R   R6   t   calls(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt!   test_args_list_contains_call_list{  s$    	=c         C   se   t  ƒ  } | d d ƒ | j d d ƒ | j j ƒ  j d d d ƒd } |  j t | j ƒ | ƒ d  S(	   Ni   i   R   i   RN   t   catt   dogsU   [call(1, 2),
 call.foo(a=3),
 call.foo.bar(),
 call.foo.bar().baz('fish', cat='dog')](   R   R   R&   R3   R   R   R-   (   R   R   R/   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_list_str”  s    	s)   Unicode is properly handled with Python 3c         C   sV   t  ƒ  } d t f d „  ƒ  Y} | i | ƒ  t d ƒ 6  |  j t | j ƒ d ƒ d  S(   Nt   NonAsciiReprc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ns   é(    (   R   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   __repr__©  s    (   R   R   RØ   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyR×   ¨  s   R   s   [call(a=é)](   R   R   t   unicodeR   R   R-   (   R   R   R×   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_call_list_unicode£  s    	c         C   s³   t  d t d t ƒ} | j ƒ  } z t j | j ƒ  t ƒ  } | j | j ƒ  |  j | j	 t
 ƒ  t
 ƒ  g ƒ d | _ |  j | j	 t
 ƒ  t
 ƒ  t
 d ƒ g ƒ Wd  | j ƒ  Xd  S(   Ns   %s.SomeClass.onet   new_callablei   (   R   R   R   Rk   R
   R   R“   R   R   R-   R    t   stop(   R   Rl   R   R±   (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_propertymock±  s    
	
	,c         C   sX   t  ƒ  } t ƒ  } | t | ƒ _ | j } | j ƒ  |  j | t  ƒ |  j | t ƒ d  S(   N(   R   R   R¬   R   R“   R‡   R¿   (   R   RY   Rl   t   returned(    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   test_propertymock_returnvalueÃ  s    			
(   R   R   RÓ   RÖ   RÊ   RÏ   RÍ   RÎ   RÚ   RÝ   Rß   (    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyRÐ   y  s
   			t   __main__(   RÍ   t	   unittest2RÊ   R   R    R   R   R   R   R   R   t	   mock.mockR   R   R	   R   R
   t   TestCaseR   R1   R^   RÐ   R   t   main(    (    (    s4   /tmp/pip-build-h1VYrz/mock/mock/tests/testhelpers.pyt   <module>   s   4
3ïÿ ÿ ?U