Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/unittest/test/testmock/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/unittest/test/testmock/__pycache__/testmock.cpython-36.pyc

3

� fr��@s�ddlZddlZddlZddlZddlmZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZGdd�de�ZGdd�de�ZGd	d
�d
ej�Zedkr�ej�dS)�N)�is_instance)�mock)�call�DEFAULT�patch�sentinel�	MagicMock�Mock�NonCallableMock�NonCallableMagicMock�_Call�	_CallList�create_autospecc@s(eZdZdd�Zdd�Zdd�ZeZdS)�ItercCstddddg�|_dS)N�this�is�an�iter)r�thing)�self�r�D/opt/alt/python36/lib64/python3.6/unittest/test/testmock/testmock.py�__init__sz
Iter.__init__cCs|S)Nr)rrrr�__iter__sz
Iter.__iter__cCs
t|j�S)N)�nextr)rrrrrsz	Iter.nextN)�__name__�
__module__�__qualname__rrr�__next__rrrrrsrc@s2eZdZddd�Zed	dd��Zed
dd��ZdS)�	SomethingNcCsdS)Nr)r�a�b�c�drrr�methszSomething.methcCsdS)Nr)�clsr r!r"r#rrr�cmeth!szSomething.cmethcCsdS)Nr)r r!r"r#rrr�smeth%szSomething.smeth)N)N)N)rrrr$�classmethodr&�staticmethodr'rrrrrs

rc@sfeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
ejde
jkd�dd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Z d7d8�Z!d9d:�Z"d;d<�Z#d=d>�Z$d?d@�Z%dAdB�Z&dCdD�Z'dEdF�Z(dGdH�Z)dIdJ�Z*dKdL�Z+dMdN�Z,dOdP�Z-dQdR�Z.dSdT�Z/dUdV�Z0dWdX�Z1dYdZ�Z2d[d\�Z3d]d^�Z4d_d`�Z5dadb�Z6dcdd�Z7dedf�Z8dgdh�Z9didj�Z:dkdl�Z;dmdn�Z<dodp�Z=dqdr�Z>dsdt�Z?dudv�Z@dwdx�ZAdydz�ZBd{d|�ZCd}d~�ZDdd��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d��Z`d�d��Zad�d��Zbd�d��Zcd�d��Zdd�d��Zed�d„Zfd�dĄZgd�dƄZhd�dȄZid�dʄZjd�d̄Zkd�d΄Zld�dЄZmd�d҄Znd�dԄZod�S)��MockTestcCstd�dS)Nzfrom unittest.mock import *)�exec)rrrr�test_all,szMockTest.test_allcCs�t�}|j|jd�|j|jdd�|jt|jt�d�|j|jdd�|j|j	gd�|j|j
gd�|jd|jd	�|j
|jd
�|j
|jd�|j|jid�dS)
Nz called not initialised correctlyrz$call_count not initialised correctlyz&return_value not initialised correctlyz#call_args not initialised correctlyz(call_args_list not initialised correctlyz&method_calls not initialised correctlyZ_itemsz/default mock should not have '_items' attributez parent not initialised correctlyz!methods not initialised correctlyz$children not initialised incorrectly)r	�assertFalse�called�assertEqual�
call_count�
assertTruer�return_value�	call_args�call_args_list�method_calls�assertNotIn�__dict__�assertIsNone�_mock_parent�
_mock_methods�_mock_children)rrrrr�test_constructor3s(





zMockTest.test_constructorcCstdd�}|j|jd�dS)N)r2z(return value in constructor not honoured)r	r8r2)rrrrr� test_return_value_in_constructorOs
z)MockTest.test_return_value_in_constructorcCs�tdd�}|jdt|��|jdt|�t|��t�dftdd�dfg}x�|D]�\}}|jd|t|j��|jd|t|j���|jd|t|j�j��|jd	|t|���|jd
|t|����|jd|t|��jjj�j��qPWdS)N�foo)�namez'%s'r�barz%s.barz%s.foo()z
%s.foo().bingz%s()z%s()()z%s()().foo.bar.baz().bing)r	�assertIn�repr�idr@r>Zbing�baz)rr�mocksr?rrr�	test_reprUs

zMockTest.test_reprcCs�Gdd�dt�}t|d�}|jdt|��t|�d�}|jdt|��t|d�}|jdt|��t|�d�}|jdt|��t|dd�}|jdt|��|jd	t|��tdd
�}|jdt|��t�}|jdt|��tdgd�}|jdt|��dS)Nc@seZdZdS)z'MockTest.test_repr_with_spec.<locals>.XN)rrrrrrr�XfsrG)�specz
 spec='X' )�spec_setz spec_set='X' r>)rHr?z name='foo' )r?rH)�objectr	rArBr6)rrGrrrr�test_repr_with_speces$


zMockTest.test_repr_with_speccs�t�}dd�}||_|jt|dddd�|jdddd�dddg��fdd�}||_|j|�|�|�gdddgd�ttjd	�}|j|jtjd
�dd�}t|tjd
�}|j|�tj�dS)Nc_std��dS)NZkablooie)�SystemError)�args�kwargsrrr�effect�sz)MockTest.test_side_effect.<locals>.effect���)�fishcs�j�S)N)�popr)�resultsrrrO�szside effect not used correctly)�side_effectz#side effect in constructor not usedcSstS)N)rrrrrrV�sz.MockTest.test_side_effect.<locals>.side_effect)rVr2)	r	rV�assertRaisesrL�assert_called_withr/r�
SideEffect�RETURN)rrrOrVr)rUr�test_side_effect�s 
zMockTest.test_side_effectcs�dddg��fdd�}dd�}t|�}dddg|_|j|�|�|�gdddgd�dddg�t|�}||_|j|�|�|�gdddgd	�dS)
NrPrQrRcs�j�S)N)rTr)rUrrrO�sz2MockTest.test_autospec_side_effect.<locals>.effectcSsdS)Nrrrrr�f�sz-MockTest.test_autospec_side_effect.<locals>.fz1side effect not used correctly in create_autospecz'callable side effect not used correctly)rrVr/)rrOr\rr)rUr�test_autospec_side_effect�s

z"MockTest.test_autospec_side_effectcCs,dd�}t|�}td�|_|jtd|�dS)NcSsdS)Nrrrrrr\�sz7MockTest.test_autospec_side_effect_exception.<locals>.fzBazinga!)r�
ValueErrorrV�assertRaisesRegex)rr\rrrr�#test_autospec_side_effect_exception�s
z,MockTest.test_autospec_side_effect_exception�javaz This test only applies to Jythonc
Csdddl}t|jjd�d�}y|dddd�Wn|jjk
rDYnX|jd�|jdddd�dS)	NrzBoom!)rVrPrQrR)rSzjava exception not raised)rar	ZlangZRuntimeException�failrX)rrarrrr�test_java_exception_side_effect�s
z(MockTest.test_java_exception_side_effectcCsRt�}dg}td||d�}|tjtjd�|j}|j�tj|_|j}|�|j�|j	|j
dd�|j	|j|d�|j	|j|d�|j
|jd�|j	|jd	d
�|j	|jdd�|j	|jgd�|j	|jgd
|jgf�|j	|jg�|j	|jtjd�|j	|j|d�|j
|jd�|j	|jd|id�|j	|j|d�|j
|jjd�dS)N�	something�child)r?�parentrH)rdzname incorrectly resetzparent incorrectly resetzmethods incorrectly resetzcalled not resetrzcall_count not resetzcall_args not resetzcall_args_list not resetz0method_calls not initialised correctly: %r != %rzside_effect incorrectly resetzreturn_value incorrectly resetzreturn value mock not resetzchildren reset incorrectlyzchildren incorrectly clearedzchild not reset)r	rrZ
SomethingElserdrYrVr2�
reset_mockr/�
_mock_namer9r:r-r.r0r3r4r5�
mock_callsr;)rrfrHrrdr2rrr�test_reset_mock�sD





zMockTest.test_reset_mockcCst�}||_|j�dS)N)r	r2rg)rrrrr�test_reset_mock_recursion�sz"MockTest.test_reset_mock_recursioncCstj�}|j�dS)N)r�	mock_openrg)rr rrr�(test_reset_mock_on_mock_open_issue_18622�sz1MockTest.test_reset_mock_on_mock_open_issue_18622cCst�}|jt|jt�d�|�}|j|�|d�|j�|tj�}|j|jd�|j|j	dd�|j|j
tjfifd�|j|jtjfifgd�tj|_|tjtj
d�}|j|tjd	�|j|j	d
d�|j|j
tjfdtj
ifd�|j|jtjfiftjfdtj
ifgd
�dS)Nz%Default return_value should be a Mockz'different result from consecutive callszcalled not setrPzcall_count incoreectzcall_args not setz(call_args_list not initialised correctly)�keyzincorrect return valuerQzcall_count incorrectrnzcall_args_list not set)r	r1rr2r/rgr�Argr.r0r3r4ZReturnValueZKeyArg)rr�resultZret_valrrr�	test_call�s4



zMockTest.test_callcCs�t�}|�|tj�|tjd�|tjtjd�|j|jftjffdtjiftjfdtjifg�|j|jtjfdtjif�|j|jdk�dS)N)�kwrrza long sequence)r	rroZKwargr/r4r3r-)rrrrr�test_call_args_comparison s

z"MockTest.test_call_args_comparisoncCs�tj�}|j||k�|j||k�|j|tj�k�|j|tj�k�|j|tjk�|j|tjk�|jtj|k�|jtj|k�tjtj��}tjtj�}|j||k�|j||k�|j||k�|j||k�dS)N)rrr1r-�ANYr)rZmmZcall1Zcall2rrr�test_calls_equal_with_any4sz"MockTest.test_calls_equal_with_anycCsdt�}|�|j�|jt|jd�|j�|jt|j�|dddddd�|jdddddd�dS)NrPrQrRrSZnothing)r r!)r	rXrW�AssertionErrorrg)rrrrr�test_assert_called_withIsz MockTest.test_assert_called_withcCs t�}|t��|jtj�dS)N)rrXrrt)r�mrrr�test_assert_called_with_anyXs
z$MockTest.test_assert_called_with_anyc
Cs�ddd�}t|d�}|dddd�|jddd�|jdddd�|jt|jdddd�|jt��}|jd	d
�WdQRX|j|jjt�dS)NcSsdS)Nr)r r!r"r#rrrr\_sz9MockTest.test_assert_called_with_function_spec.<locals>.f)rHrPrQrR)r!r")r r!r"�)�e)N)r	rXrWrv�assertIsInstance�	exception�	__cause__�	TypeError)rr\r�cmrrr�%test_assert_called_with_function_spec^s


z.MockTest.test_assert_called_with_function_speccsz�fdd�}tt�jd�}||�ttjd�}||�tt�jd�}||�ttjd�}||�tt�jd�}||�dS)NcsF|dddd�|jddd�|jdddd��jt|jdddd�dS)NrPrQrR)r!r")r r!r")rXrWrv)r)rrr�_checkps

z<MockTest.test_assert_called_with_method_spec.<locals>._check)rH)r	rr$r&r')rr�rr)rr�#test_assert_called_with_method_specosz,MockTest.test_assert_called_with_method_speccs�t�����j���|jt�j��j�|jt�j��dddd��jdddd��j��dddd�|jt�fdd��dS)Nr>r@rQ)rDcs�jdddd�S)N�bobr@rQ)rD)�assert_called_once_withr)rrr�<lambda>�sz7MockTest.test_assert_called_once_with.<locals>.<lambda>)r	r�rWrvrg)rr)rr�test_assert_called_once_with�sz%MockTest.test_assert_called_once_withc
Cs�ddd�}t|d�}|dddd�|jddd�|jdddd�|jt|jdddd�|jt��}|jd	d
�WdQRX|j|jjt�|ddd
�|jt|jddd�|jt|jddd
�dS)NcSsdS)Nr)r r!r"r#rrrr\�sz>MockTest.test_assert_called_once_with_function_spec.<locals>.f)rHrPrQrR)r!r")r r!r"rz)r{���)N)r	r�rWrvr|r}r~r)rr\rr�rrr�*test_assert_called_once_with_function_spec�s





z3MockTest.test_assert_called_once_with_function_speccCsbt�}|j}|jt|t�d�|j|j|d�t�}d|j_|j|j�dd�|j|jjd�dS)Nzattribute isn't a mockz+different attributes returned for same namerRzmethod returned wrong valuez!method didn't record being called)r	rdr1rr/r2r.)rrrdrrr�#test_attribute_access_returns_mocks�s

z,MockTest.test_attribute_access_returns_mockscCs0t�}|j}|j|jdd�|j|j|d�dS)Nrdz attribute name not set correctlyz"attribute parent not set correctly)r	rdr/rhr9)rrrdrrr�(test_attributes_have_name_and_parent_set�s

z1MockTest.test_attributes_have_name_and_parent_setcCstt�}|jddd�|jjdtjd�|j|jjdd
dtjifgd�|j|jddddifd	ddtjifgd�dS)
NrR)rSr�)�cakerdr�z#method calls not recorded correctlyrSzsomething_else.something)r�)rR)r�)r	rd�something_elserZCaker/r5)rrrrr�test_method_calls_recorded�s
z#MockTest.test_method_calls_recordedcCs�t�}|j�|j|jd	g�|j|jdfifg�t�}|jd�|j|jdg�|j|jddifg�t�}|jdd�|j|jdddifg�|j|jdfddifg�t�}|jddd�|j|jdd
ddifg�dS)Nrd�	differentrP)�xr�Zmore)�somer�)rd�r�)rdr�)r�)r�)r	rdr/r5)rrrrr� test_method_calls_compare_easily�s"
z)MockTest.test_method_calls_compare_easilycCsLxFdgdfD]8}x2dD]*}tf||i�}|j|jtdt|d�qWqWdS)NrdrHrIz-Mock object has no attribute 'something_else'r�)rd)rHrI)r	rdr_�AttributeError�getattr)rrH�argrrrr�test_only_allowed_methods_exist�s
z(MockTest.test_only_allowed_methods_existcs>Gdd�dt�}�fdd�}|t|d��|t|�d��dS)Nc@seZdZdZdZdd�ZdS)z*MockTest.test_from_spec.<locals>.SomethingrRNcSsdS)Nr)rrrr�ysz,MockTest.test_from_spec.<locals>.Something.y)rrrr��
__something__r�rrrrrsrcs:|j|j|j�jtdt|d��jtdt|d�dS)Nz Mock object has no attribute 'z'�zz)Mock object has no attribute '__foobar__'Z
__foobar__)r�r�r�r_r�r�)r)rrr�test_attributess
z0MockTest.test_from_spec.<locals>.test_attributes)rH)rJr	)rrr�r)rr�test_from_specszMockTest.test_from_speccCsJt�}t|d�}|j|�|��|j�|dddd�|jdddd�dS)N)�wrapsrPrQrR)rS)r	r/rgrX)r�realrrrr�test_wraps_callss
zMockTest.test_wraps_callscs8Gdd�dt�}|�}t|d��|jt�fdd��dS)Nc@seZdZdS)zFMockTest.test_wraps_prevents_automatic_creation_of_mocks.<locals>.RealN)rrrrrrr�Real)sr�)r�cs�j�S)N)Znew_attrr)rrrr�/szJMockTest.test_wraps_prevents_automatic_creation_of_mocks.<locals>.<lambda>)rJr	rWr�)rr�r�r)rr�/test_wraps_prevents_automatic_creation_of_mocks(s
z8MockTest.test_wraps_prevents_automatic_creation_of_mockscCs4t�}t|d�}d|_|j|�d�|j|j�dS)N)r�rR)r	r2r/r-r.)rr�rrrr�,test_wraps_call_with_nondefault_return_value2s

z5MockTest.test_wraps_call_with_nondefault_return_valuecs�Gdd�dt�}|�}t|d��|j�j�|j��|jt�fdd��|j�j|j��jjdddd	�}|jjjdddd	�|j||jj��dS)
Nc@seZdZe�ZdS)z,MockTest.test_wraps_attributes.<locals>.RealN)rrrr	�	attributerrrrr�=sr�)r�cs�jS)N)rSr)rrrr�Dsz0MockTest.test_wraps_attributes.<locals>.<lambda>rPrQrR)rS)	rJr	r/r�rWr��assertNotEqualZfrogrX)rr�r�rpr)rr�test_wraps_attributes<s
zMockTest.test_wraps_attributescCsdGdd�dt�}|�}t|d�}tjtg|j_|j|j�tj�|j|j�tj�|j	t
|j�dS)Nc@seZdZdd�ZdS)z[MockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default.<locals>.RealcSstjS)N)r�ORIGINAL_VALUE)rrrr�methodNszbMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default.<locals>.Real.methodN)rrrr�rrrrr�Msr�)r�)rJr	r�VALUE1rr�rVr/r�rW�
StopIteration)rr�r�rrrr�Dtest_customize_wrapped_object_with_side_effect_iterable_with_defaultLs
zMMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_defaultcCsfGdd�dt�}|�}t|d�}tjtjg|j_|j|j�tj�|j|j�tj�|jt	|j�dS)Nc@seZdZdd�ZdS)zNMockTest.test_customize_wrapped_object_with_side_effect_iterable.<locals>.RealcSs
t��dS)N)�NotImplementedError)rrrrr�\szUMockTest.test_customize_wrapped_object_with_side_effect_iterable.<locals>.Real.methodN)rrrr�rrrrr�[sr�)r�)
rJr	rr��VALUE2r�rVr/rWr�)rr�r�rrrr�7test_customize_wrapped_object_with_side_effect_iterableZs
z@MockTest.test_customize_wrapped_object_with_side_effect_iterablecCs:Gdd�dt�}|�}t|d�}t|j_|jt|j�dS)Nc@seZdZdd�ZdS)zOMockTest.test_customize_wrapped_object_with_side_effect_exception.<locals>.RealcSs
t��dS)N)r�)rrrrr�jszVMockTest.test_customize_wrapped_object_with_side_effect_exception.<locals>.Real.methodN)rrrr�rrrrr�isr�)r�)rJr	�RuntimeErrorr�rVrW)rr�r�rrrr�8test_customize_wrapped_object_with_side_effect_exceptionhs

zAMockTest.test_customize_wrapped_object_with_side_effect_exceptioncCsFGdd�dt�}dd�}|�}t|d�}||j_|j|j�tj�dS)Nc@seZdZdd�ZdS)zNMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.RealcSs
t��dS)N)r�)rrrrr�vszUMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.Real.methodN)rrrr�rrrrr�usr�cSstjS)N)r�VALUErrrrrVyszUMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.side_effect)r�)rJr	r�rVr/rr�)rr�rVr�rrrr�7test_customize_wrapped_object_with_side_effect_functionts
z@MockTest.test_customize_wrapped_object_with_side_effect_functioncCs@Gdd�dt�}|�}t|d�}tj|j_|j|j�tj�dS)Nc@seZdZdd�ZdS)zFMockTest.test_customize_wrapped_object_with_return_value.<locals>.RealcSs
t��dS)N)r�)rrrrr��szMMockTest.test_customize_wrapped_object_with_return_value.<locals>.Real.methodN)rrrr�rrrrr��sr�)r�)rJr	rr�r�r2r/)rr�r�rrrr�/test_customize_wrapped_object_with_return_value�s


z8MockTest.test_customize_wrapped_object_with_return_valuecCspGdd�dt�}|�}t|d�}tjtjg|j_tj|j_|j	|j�tj�|j	|j�tj�|j
t|j�dS)Nc@seZdZdd�ZdS)zVMockTest.test_customize_wrapped_object_with_return_value_and_side_effect.<locals>.RealcSs
t��dS)N)r�)rrrrr��sz]MockTest.test_customize_wrapped_object_with_return_value_and_side_effect.<locals>.Real.methodN)rrrr�rrrrr��sr�)r�)rJr	rr�r�r�rVZWRONG_VALUEr2r/rWr�)rr�r�rrrr�?test_customize_wrapped_object_with_return_value_and_side_effect�s

zHMockTest.test_customize_wrapped_object_with_return_value_and_side_effectcCsLGdd�dt�}|�}t|d�}dd�|j_tj|j_|j|j�tj�dS)Nc@seZdZdd�ZdS)zWMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.RealcSs
t��dS)N)r�)rrrrr��sz^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.Real.methodN)rrrr�rrrrr��sr�)r�cSstS)N)rrrrrr��sz[MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.<lambda>)rJr	r�rVrr�r2r/)rr�r�rrrr�@test_customize_wrapped_object_with_return_value_and_side_effect2�s

zIMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2cCsnGdd�dt�}|�}t|d�}tjtg|j_tj|j_|j	|j�tj�|j	|j�tj�|j
t|j�dS)Nc@seZdZdd�ZdS)z^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default.<locals>.RealcSs
t��dS)N)r�)rrrrr��szeMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default.<locals>.Real.methodN)rrrr�rrrrr��sr�)r�)rJr	rr�rr�rVrZr2r/rWr�)rr�r�rrrr�Gtest_customize_wrapped_object_with_return_value_and_side_effect_default�s

zPMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_defaultcCs4ttd�}|jt|�ttd�d�}|jt|�dS)N)rVr>)r	r�rW)rrrrr�test_exceptional_side_effect�s
z%MockTest.test_exceptional_side_effectcCs4ttd�}|jt|�ttd�d�}|jt|�dS)N)rVr>)r	�KeyboardInterruptrW)rrrrr� test_baseexceptional_side_effect�s
z)MockTest.test_baseexceptional_side_effectcCst�}|jtd|j�dS)Nz
Not called)r	r_rvrX)rrrrr�test_assert_called_with_message�sz(MockTest.test_assert_called_with_messagecCstdd�}|jtd|j�dS)NZgeoffrey)r?z'Expected 'geoffrey' to be called once\.)r	r_rvr�)rrrrr�$test_assert_called_once_with_message�s
z-MockTest.test_assert_called_once_with_messagecs2t��|jt�fdd��d�_|j�jd�dS)Ncs�jS)N)rr)rrrr��sz'MockTest.test__name__.<locals>.<lambda>r>)r	rWr�rr/)rr)rr�test__name__�szMockTest.test__name__cCsJGdd�dt�}t|dg�d�}|jd�|jjd�|jtt|d�dS)Nc@seZdZdS)z-MockTest.test_spec_list_subclass.<locals>.SubN)rrrrrrr�Sub�sr�r>)rHrR)�listr	�appendrXrWr�r�)rr�rrrr�test_spec_list_subclass�s

z MockTest.test_spec_list_subclasscCs�Gdd�dt�}t|d�}|j||�t|�d�}|j||�|j|j|�|jt�jjd�t|d�}|j||�t|�d�}|j||�dS)Nc@seZdZdS)z#MockTest.test_spec_class.<locals>.XN)rrrrrrrrG�srG)rHr	)rI)rJr	r|�assertIs�	__class__r/r)rrGrrrr�test_spec_class�s

zMockTest.test_spec_classcsLGdd�dt�}t|d��d�_t|d���fdd�}d�_|jt|�dS)Nc@seZdZdZdS)z8MockTest.test_setting_attribute_with_spec_set.<locals>.XrRN)rrrr�rrrrrGsrG)rHr>)rIcs
d�_dS)Nr>)r�r)rrr�set_attrsz?MockTest.test_setting_attribute_with_spec_set.<locals>.set_attr)rJr	r�r�rWr�)rrGr�r)rr�$test_setting_attribute_with_spec_set�s

z-MockTest.test_setting_attribute_with_spec_setcCs4tj�}|jtj|�tjtd��tjt��dS)Nge��A)�sys�getrecursionlimit�
addCleanup�setrecursionlimit�int�copyr	)rZcurrentrrr�	test_copyszMockTest.test_copycs\Gdd�dt�}||d��|j�jd��fdd�}|jt|��fdd�}|jt|�dS)Nc@s&eZdZdd�Zdd�Zeee�ZdS)z8MockTest.test_subclass_with_properties.<locals>.SubClasscSsdS)NrRr)rrrr�_getsz=MockTest.test_subclass_with_properties.<locals>.SubClass._getcSstd��dS)Nz
strange error)�	NameError)r�valuerrr�_setsz=MockTest.test_subclass_with_properties.<locals>.SubClass._setN)rrrr�r��property�some_attributerrrr�SubClasssr�)rIrRcs
d�_dS)NrR)r�r)�srr�test#sz4MockTest.test_subclass_with_properties.<locals>.testcs
d�_dS)Nr@)r>r)r�rrr�'s)r	r/r�rWr�r�)rr�r�r)r�r�test_subclass_with_propertiess
z&MockTest.test_subclass_with_propertiescCs>t�}dd�}|t|�_|d�|jd�|jt|dd�dS)NcSs
|j|�S)N)Z
_mock_call)rr rrr�__call__.sz,MockTest.test_setting_call.<locals>.__call__�one�two)r	�typer�rXrWr)rrr�rrr�test_setting_call,s

zMockTest.test_setting_callcCs�t�}tt|��}tdd�tt�D��}|jt�||�|j|jf|jdt|��|jdt|��d|_|_|jdt|��|jdt|��dd�|_	|jd	t|��dS)
NcSsg|]}|jd�s|�qS)�_)�
startswith)�.0rxrrr�
<listcomp>;sz%MockTest.test_dir.<locals>.<listcomp>r r!r"r#cSstg�S)N)r)r�rrrr�Ksz#MockTest.test_dir.<locals>.<lambda>r)
r	�set�dirr/r r!rAr"r#r)rr�attrs�
type_attrsrrr�test_dir8s
zMockTest.test_dircCsXttjd�}tttj��}tt|��}|jt�||�d|_|jt|�jd�d�dS)N)rHrR�versionrP)r	�unittest�TestCaser�r�r/r��count)rrZtestcase_attrsr�rrr�test_dir_from_specOszMockTest.test_dir_from_specc
CsVtjtdd�}|j�z0ttt���}ttt��}|jt�||�Wd|j�XdS)NZ
FILTER_DIRF)	rrJr�startr�r�r	r/�stop)rZpatcherr�r�rrr�test_filter_dir\szMockTest.test_filter_dircCs�tdd�}|j|jd�tdd�}|j|jd�tdt�d�}tf|�}|jt|�|j|jj�d�|j|jt�t�}|jf|�|jt|�|j|jj�d�|j|jt�dS)Nr@)r>�!)rVzfoo.bar.return_valuer>)	r	r/r>r�KeyErrorrWr@r|Zconfigure_mock)rrrNrrr�test_configure_mockis



zMockTest.test_configure_mockc	Os\y|||�Wn$tj�d}|j||�YnX|jd|f�t|�}|j||�dS)NrPzException %r not raised)r��exc_infor|rb�strr/)rr}�message�funcrMrN�instance�msgrrr�assertRaisesWithMsg~szMockTest.assertRaisesWithMsgc
Cs(t�}d}d}|jt||f|jddddd�|jddddd�|jj|jjg}x8|D]0}d	}d
}d}|jt|||f|ddddd�qVWx2|D]*}d	}d}d}|jt|||f|dd�q�Wx4|D],}d	}d
}d}|jt|||f|ddd�q�Wx.|D]&}d	}d}d}|jt|||f|�q�WdS)Nzmock(1, '2', 3, bar='foo')zExpected call: %s
Not calledrP�2rRr>)r@)r>zfoo(1, '2', 3, foo='foo')zfoo(1, '2', 3, bar='foo')z!Expected call: %s
Actual call: %szfoo(bar='foo')zfoo(1, 2, 3)rQzfoo())r
r�rvrXr>r�)rr�expectedr�Z	assertersr$Zactualrrr�'test_assert_called_with_failure_message�sF




z0MockTest.test_assert_called_with_failure_messagecCs�t�}|j|jgkd�t�}|�dfifg}|j|j|�|j�|jtj��|j|j|�|j|jjdfifg�t�}|�jdddddd�dfifd	dtddd�fg}|j|j|�|j|jjjddtddd�fg�|j|jjd
dtddd�fg�t�}|�jj	�j
�dfifdfifdfifg}|j|j|�|j|�jtjj	�j
�j���x:t�td
d�fD�]$}tf|�}t|j�dfifg}|j|j|�tf|�}|j
��dfifdfifg}|j|j|�|j|j
�jt�g�tf|�}|d�d�d�|j|jtd�d�d�j��|j|�jtd�d�j��|j|��jtd�j��tf|�}|d�d�d�j
jjd�|j|jtd�d�d�j
jjd�j��|j|�jtd�d�j
jjd�j��|j|��jtd�j
jjd�j��tf|�}t|�jj	�j
��dfif}|j|jd|�|j|�jtjj	�j
�j�j��|j|�jj	�jtj
�j�j��|j|�jj	�j
jt�j�j���qtWdS)NT�rPrQrRr�r�)r r!z().foor>z
().foo.barz().foo.bar().bazr@)r?zfoo.__int__r za()z().foo.bar().baz().__int__)rPrQrR)rPrQrR)rPrQrR���)rr�rir/r>r�r�dictr2r@rD�	call_listr�r r!r"�__int__)rrr�rNZ	last_callrrr�test_mock_calls�st







 



zMockTest.test_mock_callscCsFt�}|�}|j�|j|jt�t�j�g�|j|jtj�g�dS)N)r	Zwibbler/rir)rrxrprrr�test_child_mock_call_equals
z#MockTest.test_child_mock_call_equalcCsFt�}|j�j�|j|jdtj�j��|j|jdtj��dS)NrPr)r	r>rdr�rirr�r/)rrxrrr�test_mock_call_not_equal_leafsz&MockTest.test_mock_call_not_equal_leafcCsFt�}|j�j�|j|jdtj�j��|j|jdtj��dS)NrPr)r	r>r@r�rirrD)rrxrrr�!test_mock_call_not_equal_non_leaf"sz*MockTest.test_mock_call_not_equal_non_leafcCs8t�}|jdd�j�|j|jdtjdd�j��dS)NrP)r�rQ)r	r>r@r/rir)rrxrrr�2test_mock_call_not_equal_non_leaf_params_different)sz;MockTest.test_mock_call_not_equal_non_leaf_params_differentcCs,t�}|jj�|j|jdtjj��dS)Nr)r	r>r@r�rirrD)rrxrrr�&test_mock_call_not_equal_non_leaf_attr0s
z/MockTest.test_mock_call_not_equal_non_leaf_attrcCs.t�}|jj�|j|jdtj�j��dS)Nr)r	r>r@r�rir)rrxrrr�2test_mock_call_not_equal_non_leaf_call_versus_attr6s
z;MockTest.test_mock_call_not_equal_non_leaf_call_versus_attrcCs^t�}|j�j�jj�|jt|jd�d�|jt|jd�d�|jt|jd�d�dS)Nrz
call.foo()rPzcall.foo().bar()rQzcall.foo().bar().baz.bob())r	r>r@rDr�r/rBri)rrxrrr�test_mock_call_repr<s
zMockTest.test_mock_call_reprcCshGdd�dt�}|�}|j|j|�|j|�|�Gdd�dt�}|�}|j|j|�|j|�|�dS)Nc@seZdZdS)z+MockTest.test_subclassing.<locals>.SubclassN)rrrrrrr�SubclassEsrc@seZdZdd�ZdS)z+MockTest.test_subclassing.<locals>.Subclassc[s
tf|�S)N)r	)rrNrrr�_get_child_mockMsz;MockTest.test_subclassing.<locals>.Subclass._get_child_mockN)rrrr	rrrrrLs)r	r|r>�assertNotIsInstance)rrrrrr�test_subclassingDszMockTest.test_subclassingcs�t�t�t�t�g}�fdd�}x�|D]z}||�t|�rd|�|dd�|dd�|j�||�|j�|jjddd�|jd�j�jd�|j�||�q&WdS)NcsDd}x:|D]2}t||�}�j|t��j|t��j|g�q
WdS)Nr4r5ri)r4r5ri)r�r|r
r�r/)r�namesr?�attr)rrr�assert_attrs]s

z-MockTest.test_arg_lists.<locals>.assert_attrsrPrQrR)r )	r	rr
r�callablergr>r@rD)rrErrr)rr�test_arg_listsUs$


zMockTest.test_arg_listscCs�t�}|ddd�|ddd�|jt|j�d�|j\}}|j|d�|j|tdd��d	tdd�fd
tdd�fg}xPt||j�D]@\}}|jt|�d�|j|d|d�|j|d|d�q�WdS)NrPrR)r rQr�)r!r)rQ)rP)rQ)r	r/�lenr3r��zipr4)rrrMrNZ
expected_listr�r3rrr�test_call_args_two_tuplexs
z!MockTest.test_call_args_two_tuplecCsttdddg�d�}|j|�|�|�gdddg�|jt|�tdddgd�}|j|�|�|�gdddg�|jt|�tdd�}|j|�|�|�gd	d
dg�|jt|�Gdd
�d
t�}t|d�}|j|�|�tt�d�}|j|�|�|�|�gddddg�|jt|�dS)NrPrQrR)rVr r!r"Zghi�g�h�ic@seZdZdS)z/MockTest.test_side_effect_iterator.<locals>.FooN)rrrrrrr�Foo�srrrrr)	r	rr/rWr�rrJr|r)rrrrrr�test_side_effect_iterator�s 

z"MockTest.test_side_effect_iteratorcCs`xZttfD]N}tdtdf}||d�}|jt|�|j|�d�|jt|�|j|�d�q
WdS)NrRr�)rV)r	rr^r�rWr/)r�Klass�iterablerxrrr�$test_side_effect_iterator_exceptions�s
z-MockTest.test_side_effect_iterator_exceptionscCs�t�}tdddg�|_|j|�|�|�gdddg�|jt|�|j}|j|ttg���dddg|_|j|�|�|�gdddg�|jt|�|j}|j|ttg���t�}||_|j|�|�|�|�gddd	d
g�|jt|�|j	|j|�dS)NrPrQrRr r!r"rrrr)
r	rrVr/rWr�r|r�rr�)rrrVZ	this_iterrrr�!test_side_effect_setting_iterator�s"z*MockTest.test_side_effect_setting_iteratorcCs4tdd�}tdtg�|_|j|�|�gddg�dS)NrQ)r2rP)r	rrrVr/)rrrrr�!test_side_effect_iterator_default�s
z*MockTest.test_side_effect_iterator_defaultcCs�t�}|dd�|dd�|dd�|dd�|dd�tdd�ddifdfddifdd	ddifd	difd	fddifg}x|D]}|j|gd
d�q~Wx<tdd�tdd�t�ddd
fD]}|jt|j|gd
d�q�Wtdd�tdd�gtdd�tdd�gtdd�tdd�gg}x|D]}|j|d
d��qWtdd�tdd�tdd�gtdd�tdd�gtdd�tdd�tdd�gtdd�tdd�tdd�tdd�tdd�gg}x"|D]}|jt|j|d
d��q�WdS)NrPrQrR)r r�r�)r!r r�T)�	any_orderr�r>r���rRr�)r �rPrQ)r�r!)rPrQ)r	r�assert_has_callsrWrv)rr�kallsZkallZ
kall_listsZ	kall_listrrr�test_assert_has_calls_any_order�s:





$
.
z(MockTest.test_assert_has_calls_any_orderc		Cs�tdd�ddifd
tdd�ddd	difg}tj�tjd�g}|jtj�jdd
�j��|jtjt�id�j	dg�j��g}xVt
�t�fD]F}|dd�|dd
�|dd�|dd�|ddd�|j||f�q�Wt
�}|j�|jd�|j�jdd
�|jt�id�j	dg�|j||f�xz|D]r\}}xft
t|��D]V}xNdD]F}||||�}|j|�t|�dk�rH|jt|jtt|����qHW�q>W�q(WdS)NrPrQr rRr�r�)r!r�r!)r )r>�rRr�)r%)rP)rPrQrR)rr>r@�extendZspamrDr�Zbamr�rSr	rr��rangerr"rWrvr��reversed)	rZkalls1Zkalls2rErr#r�stepZtheserrr�test_assert_has_calls�s<
"






zMockTest.test_assert_has_callscCs�ddd�}t|d�}|dddd�|dd	d
dd�|d
ddd�ddifddddifdifg}|j|�|j|dd�|j|dd��|j|dd�dd�|j|dd��|j|dd�dd�tt|��}|jt��|j|�WdQRX|j|dd�|jt��|j|dd��WdQRX|j|dd�dd�|jt��|j|dd��WdQRX|j|dd�dd�dS)NcSsdS)Nr)r r!r"r#rrrr\sz<MockTest.test_assert_has_calls_with_function_spec.<locals>.f)rHrPrQrR)r!r"r�r�r�r)r"r#�
��)r"r�r#T)r)N)rPrQrR)r�r�r�)r+r,r-r�r�r�r�)r	r"r�r(rWrv)rr\rZcallsrrr�(test_assert_has_calls_with_function_specs0



z1MockTest.test_assert_has_calls_with_function_speccCs�t�}|dd�|dd�|ddd�|jdd�|jdd�|jddd�|jt|j�|jt|jdd�|jt|jdd�dS)NrPrQrR)r r�)r!r�)r	�assert_any_callrWrv)rrrrr�test_assert_any_call:s$

zMockTest.test_assert_any_callc
Cs�ddd�}t|d�}|dddd�|dd	d
dd�|jddd�|jdddd
�|jdd	d
d�|jdd	d
dd�|jt|jdddd�|jt��}|jdd�WdQRX|j|jjt�dS)NcSsdS)Nr)r r!r"r#rrrr\Usz;MockTest.test_assert_any_call_with_function_spec.<locals>.f)rHrPrQrR)r!r"r�r�r�r)r"r#)r r!r")r r!r"r#rz)r{)N)r	r/rWrvr|r}r~r)rr\rr�rrr�'test_assert_any_call_with_function_specTs


z0MockTest.test_assert_any_call_with_function_speccCsjdd�}t�}||_t|�t|�jg}x>|D]6}|dd�|dd�|j|jtdd�tdd�g�q,WdS)NcSsdS)Nr)r r!rrrr\isz3MockTest.test_mock_calls_create_autospec.<locals>.frPrQrRr�)rr\rr/rir)rr\�objZfuncsr�rrr�test_mock_calls_create_autospechs


z(MockTest.test_mock_calls_create_autospeccCs$tjt�dd�}|jdt|��dS)NZ
sweet_func)r?)rrrJrArB)rrxrrr�test_create_autospec_with_name{sz'MockTest.test_create_autospec_with_namecCs`t�}|jt��|j�WdQRX|jt��|j�WdQRXtdd�}|j�|j�dS)NT)Zunsafe)r	rWr�Zassert_foo_callZassret_foo_call)rrxrrr�test_mock_unsafe�s
zMockTest.test_mock_unsafec	Cs<t�}|jj�|j�|jt��|jj�WdQRXdS)N)r	�helloZassert_not_calledrWrv)rrxrrr�test_assert_not_called�s

zMockTest.test_assert_not_calledc	CsNt�}|jt��|jj�WdQRX|j�|jj�|j�|jj�dS)N)r	rWrvr6Z
assert_called)rrxrrr�test_assert_called�s
zMockTest.test_assert_calledcCsdt�}|jt��|jj�WdQRX|j�|jj�|j�|jt��|jj�WdQRXdS)N)r	rWrvr6Zassert_called_once)rrxrrr�test_assert_called_once�s
z MockTest.test_assert_called_oncecCs0t�}|jddd�d}|jt|jj�|�dS)Nr6Zhero)r?Zdaddyz call(daddy='hero', name='hello'))r	r6r/rBr3)rrx�textrrr�test_sorted_call_signature�sz#MockTest.test_sorted_call_signaturecCsVtj�}tjdd�}t�}|j�|jdd�|j|jd|�|j|jd|�dS)N�r6rrP)rr��indexr	r/r5)rr"rrxrrr�test_override_tuple_methods�sz$MockTest.test_override_tuple_methodscCs>tdddgd�}|jddd�|j|jt�|j|jd�dS)Nr+rQrR)r2rVT)r	rgr|r2r/rV)rrxrrr�test_reset_return_sideeffect�sz%MockTest.test_reset_return_sideeffectcCs<tdddgd�}|jdd�|j|jt�|j|jd�dS)Nr+rQrR)r2rVT)r2)r	rgr|r2r�rV)rrxrrr�test_reset_return�szMockTest.test_reset_returncCs<tdddgd�}|jdd�|j|jd�|j|jd�dS)Nr+rQrR)r2rVT)rV)r	rgr/r2rV)rrxrrr�test_reset_sideeffect�szMockTest.test_reset_sideeffectc	
s�Gdd�dt�}Gdd�dt�}Gdd�dt��ttttg}x<t|�D]0}|j|f�fdd�	�|j|f�fd	d�	�qFW�x|D�]}�xt�td
d�fD]�}|�}|j|j	|j
fx�||fdgd
gfgD]�\}}x�t�td
d�fD]�}|j|f|�|j|jt
t|d
�|jt
t|d�d|k�r:|jt
t|dd�|j|f|�|jt
t|d�|j	|jt
t|d�d|kr�|jt
t|dd�q�Wq�Wq�Wq�WdS)Nc@seZdZdZdS)z)MockTest.test_mock_add_spec.<locals>._OnerPN)rrrr�rrrr�_One�srBc@seZdZdZdS)z)MockTest.test_mock_add_spec.<locals>._TworQN)rrrr�rrrr�_Two�srCc@seZdZdZZZdS)z-MockTest.test_mock_add_spec.<locals>.AnythingZfourN)rrrr�r��threerrrr�Anything�srEcs
|�d�S)N)rHr)�K)rErrr��sz-MockTest.test_mock_add_spec.<locals>.<lambda>cs
|�d�S)N)rIr)rF)rErrr��sT)rIr�r�rDrI)rJr	rr
rr�r�r�r�r�rD�
mock_add_specrWr�r��setattr)	rrBrCZklassesrrNrZOneZTwor)rEr�test_mock_add_spec�s>
zMockTest.test_mock_add_speccs�xzttfD]n}|��t���jt�|jtt��|���dd�j_�jt�|j	t��d�|jt�fdd��q
WdS)Nr>r�cs�dS)Nr>rr)rrrr�
sz;MockTest.test_mock_add_spec_magic_methods.<locals>.<lambda>)
rrr�rGrJrWrr�r2r/)rrr)rr� test_mock_add_spec_magic_methods�s

z)MockTest.test_mock_add_spec_magic_methodscCs�x�ttttfD]�}|�}t�|_|j�|j|jtj�g�|j|jtj�g�|�}tdd�|_	|j	�|j|jg�|j|jg�|�}t��|_
|j
�|j|jg�|j|jg�qWdS)Nr?)r?)r
r	rrr>r/r5rrir@rD)rrrrrr�test_adding_child_mocks 
zMockTest.test_adding_child_mockcCsDx>ttfD]2}|�}t�|_|��|j|jt�t��g�q
WdS)N)r	rr2r/rir)rrrrrr�test_adding_return_value_mock(s
z&MockTest.test_adding_return_value_mockcCs�Gdd�dt�}t�}tj|d�}tj|d�}|j�}|j|j�|j�}|j|j�|j|d�|j|d�|j�|j�|j	|j
tj�tj�g�dS)Nc@seZdZdZdZdS)z'MockTest.test_manager_mock.<locals>.Foor�r�N)rrrr�r�rrrrr2srr�r�)rJr	rr�r�r��attach_mockr�r�r/rir)rrZmanagerZp1Zp2Zmock_oneZmock_tworrr�test_manager_mock1szMockTest.test_manager_mockcCslxfttfD]Z}|�}tdd�|_tdd�|_t|�t|�|j|jtj�tj�g�|j|j	g�q
WdS)NrR)r2g@)
r	rr��	__float__r��floatr/rirr5)rrrxrrr�test_magic_methods_mock_callsGsz&MockTest.test_magic_methods_mock_callscCs<tjdd�}|d�}|j�}|d�}|j�}|j||�dS)N�data)�	read_dataza-namezanother-name)rrl�readr/)rZmocked_open�f1Zf1_data�f2Zf2_datarrr� test_mock_open_reuse_issue_21750Rsz)MockTest.test_mock_open_reuse_issue_21750c
CsXtjtjdd��}tjd|��0|j}|j}td�|_dd�}|jt|�WdQRXdS)NZJLV)r?ztempfile.NamedTemporaryFilezTest 2 ErrorcSstj�jd�dS)NZasd)�tempfileZNamedTemporaryFile�writerrrr�attemptasz.MockTest.test_mock_open_write.<locals>.attempt)	rrlrrr2rY�OSErrorrVrW)rZmock_namedtempZmock_filehandleZ
mock_writerZrrr�test_mock_open_writeZs
zMockTest.test_mock_open_writecCsJtjdd�}dd�|jj_|�j�}|�j�}|jd|�|jd|�dS)Nzfoo
barn)rScWsdS)N�abcr)rMrrrr�gsz8MockTest.test_mock_open_alter_readline.<locals>.<lambda>r])rrlr2�readlinerVr/)rZmopen�first�secondrrr�test_mock_open_alter_readlinees

z&MockTest.test_mock_open_alter_readlinecCs�tjdd�}|d�}|j�|jd|j��|jd|j��|jd|j��|jd|j��|jg|j��|jg|j��dS)Nr>)rSr@r�)rrlrTr/r^�	readlines)rZ_openrrrr�test_mock_open_after_eofmsz!MockTest.test_mock_open_after_eofcCs�xttfD]�}|�}t|�}||_|j|�|�|jt|�|�|j�|j|�|�|jt|�|�|�}|j|_|j	dt|j��|j	dt|j��|j�|j	dt|j��|j	dt|j��|�}t|�}|�|_||j_|jt|�|�|jt|j��|�qWdS)Nz
name='mock.a')
r	rrBr2r�r/rgr r!rA)rrrxZ
original_reprrrr�test_mock_parentsys,zMockTest.test_mock_parentscCs�ttttf}x�|D]�}x�|D]z}|�}|dd�}|j|d�|j|j|�|jdt|��|jj	d�|j
|jtjj	d�g�|j
|j
tjj	d�g�qWqWdS)Nr>)r?r@zname='mock.bar'rP)r	rrr
rMr�r@rArBrDr/rirr5)r�classesr�Klass2rx�m2rrr�test_attach_mock�s


zMockTest.test_attach_mockcCs�ttttf}xxttfD]l}xf|D]^}|�}|dd�}|j|d�|j|�|�|jdt|��|j�|j	|j
t�j�j��q WqWdS)Nr>)r?r2z
name='mock()')
r	rrr
rMr�rArBr>r/rirr�)rrerrfrxrgrrr�test_attach_mock_return_value�s

z&MockTest.test_attach_mock_return_valuecCsjxdt�t�t�t�fD]L}|jt|d��|`|jt|d��|`|jt|d��|j	t
t|d�qWdS)Nrxr\)r	rrr
r1�hasattrrxr-r\rWr�r�)rrrrr�test_attribute_deletion�sz MockTest.test_attribute_deletioncCs,t�}d|_|`|j�|jt|d��dS)NTre)r	rergr-rj)rrrrr�/test_reset_mock_does_not_raise_on_attr_deletion�s
z8MockTest.test_reset_mock_does_not_raise_on_attr_deletioncCs>x8t�t�fD](}|j|t�t|_|j|t�|jqWdS)N)r	rr
r�r�r|r>)rrrrr�test_class_assignable�s
zMockTest.test_class_assignablecCs8|jtj�|jttj�t�|jttj�j�t�dS)N)�assertIsNotNonerr?r/r�r)rrrr�test_name_attribute_of_call�sz$MockTest.test_name_attribute_of_callcCs8|jtj�|jttj�t�|jttj�j�t�dS)N)rnrrfr/r�r)rrrr�test_parent_attribute_of_call�sz&MockTest.test_parent_attribute_of_callN)prrrr,r<r=rFrKr[r]r`r�Z
skipUnlessr��platformrcrjrkrmrqrsrurwryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrrrrrrr$r*r.r0r1r3r4r5r7r8r9r;r>r?r@rArIrJrKrLrNrQrWr\rarcrdrhrirkrlrmrorprrrrr**s�	)"






7N
#
,(!
	5	

r*�__main__)r�r�rXr�Zunittest.test.testmock.supportrrZ
unittest.mockrrrrrr	r
rrr
rrJrrr�r*r�mainrrrr�<module>s04

H