%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib64/python3.9/site-packages/numpy/testing/tests/__pycache__/
Upload File :
Create Path :
Current File : //lib64/python3.9/site-packages/numpy/testing/tests/__pycache__/test_utils.cpython-39.opt-1.pyc

a

z[yc"��@sddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlm Z Gdd�d�Z!Gdd�de!�Z"Gdd	�d	�Z#Gd
d�de"�Z$Gdd
�d
e!�Z%Gdd�de!�Z&Gdd�d�Z'Gdd�d�Z(ej)j*dd�Gdd�d��Z+Gdd�d�Z,Gdd�d�Z-Gdd�d�Z.Gdd�d�Z/Gd d!�d!�Z0d"d#�Z1d$d%�Z2d&d'�Z3d(d)�Z4d*d+�Z5d,d-�Z6d.d/�Z7d0d1�Z8d2d3�Z9d4d5�Z:d6d7�Z;Gd8d9�d9e�Z<d:d;�Z=ej)j>ed<d�Gd=d>�d>��Z?dS)?�N)�assert_equal�assert_array_equal�assert_almost_equal�assert_array_almost_equal�assert_array_less�
build_err_msg�raises�
assert_raises�assert_warns�assert_no_warnings�assert_allclose�assert_approx_equal�assert_array_almost_equal_nulp�assert_array_max_ulp�clear_and_catch_warnings�suppress_warnings�assert_string_equal�assert_�tempdir�temppath�assert_no_gc_cycles�HAS_REFCOUNT)�ARRAY_FUNCTION_ENABLEDc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�_GenericTestcCs|�||�dS�N��_assert_func��self�a�b�r!�D/usr/lib64/python3.9/site-packages/numpy/testing/tests/test_utils.py�_test_equalsz_GenericTest._test_equalcCs8tt��|�||�Wd�n1s*0YdSr)r	�AssertionErrorrrr!r!r"�_test_not_equals
z_GenericTest._test_not_equalcCs,t�ddg�}t�ddg�}|�||�dS)z/Test two equal array of rank 1 are found equal.��N��np�arrayr#rr!r!r"�test_array_rank1_eqsz _GenericTest.test_array_rank1_eqcCs,t�ddg�}t�ddg�}|�||�dS)z7Test two different array of rank 1 are found not equal.r&r'N�r)r*r%rr!r!r"�test_array_rank1_noteq$sz#_GenericTest.test_array_rank1_noteqcCs<t�ddgddgg�}t�ddgddgg�}|�||�dS)z/Test two equal array of rank 2 are found equal.r&r'��Nr(rr!r!r"�test_array_rank2_eq+sz _GenericTest.test_array_rank2_eqcCs4t�ddg�}t�ddgddgg�}|�||�dS)�:Test two arrays with different shapes are found not equal.r&r'Nr,rr!r!r"�test_array_diffshape2sz!_GenericTest.test_array_diffshapecCs"tjddgtd�}|�|d�dS)zTest object arrays.r&��dtypeN)r)r*�objectr#�rrr!r!r"�
test_objarray9sz_GenericTest.test_objarraycCs|�gd�d�dS)N�r&r'r.)r#�rr!r!r"�test_array_likes>sz_GenericTest.test_array_likesN)�__name__�
__module__�__qualname__r#r%r+r-r0r2r7r:r!r!r!r"rsrc@sveZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zej
jedd�dd��Zdd�ZdS)�TestArrayEqualcCs
t|_dSr)rrr9r!r!r"�setup_methodDszTestArrayEqual.setup_methodcs4�fdd�}dD]}||�qdD]}||�q"dS)z!Test rank 1 array for all dtypes.csLt�d|�}|�d�|��}|��}|�d���||���||�dS)Nr'r&r�r)�empty�fill�copyr#r%��trr �cr9r!r"�fooIs

z.TestArrayEqual.test_generic_rank1.<locals>.foo�?bhilqpBHILQPfdgFDG�ZS1ZU1Nr!�rrGrEr!r9r"�test_generic_rank1Gs


z!TestArrayEqual.test_generic_rank1cCslt�d�}t�d�}tt|j||�|}|�||�t�d�}t�d�}tt|j||�|}|�||�dS)NlCj�<T"3��w�
�-l(M$c7u��v��+�
)r)r*r	r$r�r�x�yr!r!r"�test_0_ndim_arrayZs



z TestArrayEqual.test_0_ndim_arraycs4�fdd�}dD]}||�qdD]}||�q"dS)z!Test rank 3 array for all dtypes.csLt�d|�}|�d�|��}|��}|�d���||���||�dS)N)r/r'r.r&rr@rDr9r!r"rGks

z.TestArrayEqual.test_generic_rank3.<locals>.foorHrINr!rJr!r9r"�test_generic_rank3is


z!TestArrayEqual.test_generic_rank3cCsNt�ddtjg�}t�ddtjg�}|�||�t�gd��}|�||�dS)z$Test arrays with nan values in them.r&r'r8N)r)r*�nanr#r%�rrr rFr!r!r"�test_nan_array|s
zTestArrayEqual.test_nan_arraycCsFt�ddg�}t�ddg�}|�||�t�ddg�}|�||�dS)r1�floupi�floupa�floupipiN)r)r*r#r%rTr!r!r"�test_string_arrays�s
z!TestArrayEqual.test_string_arrayscCs�t�ddtfdtfg�}ddg|d<ddg|d<|��}|�||�t�ddtfdtfdtfg�}|d��|d<|d��|d<t�t��|�||�Wd�n1s�0YdS)zTest record arrays.r'rVrWr&rXN)	r)rA�floatrCr#�pytestr�	TypeErrorr%rTr!r!r"�test_recarrays�s�zTestArrayEqual.test_recarrayscCs�tjjgd�gd�d�}t�dtjdg�}|�||�|�||�tjjgd�gd�d�}t�tjddg�}|�||�|�||�dS)N��@�@�@)FTF��maskr_ra)TFFr`)r)�ma�MaskedArrayr*rSr#�infrr!r!r"�test_masked_nan_inf�sz"TestArrayEqual.test_masked_nan_infcCs�Gdd�dtj�}t�ddg��|�}t�ddg��|�}tt||k�t�t||k�t||k�|�||�|�||�|�||�dS)Nc@seZdZdd�Zdd�ZdS)z?TestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArraycSstt�||����Sr)�boolr)Zequal�all�r�otherr!r!r"�__eq__�szFTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__eq__cSs
||kSrr!rjr!r!r"�__ne__�szFTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__ne__N)r;r<r=rlrmr!r!r!r"�MyArray�srn��?�@r_)	r)�ndarrayr*�viewr�typerhr#r%�rrnrr r!r!r"�test_subclass_that_overrides_eq�sz.TestArrayEqual.test_subclass_that_overrides_eqzrequires __array_function__��reasoncCs�Gdd�dtj�}t�ddg��|�}t�ddg��|�}tt��t�|�Wd�n1sb0Y|�||�|�||�|�||�dS)Nc@seZdZdd�ZdS)zKTestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArrayc_stSr)�NotImplemented�r�args�kwargsr!r!r"�__array_function__�sz^TestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArray.__array_function__N)r;r<r=r|r!r!r!r"rn�srnrorpr_)	r)rqr*rrr	r\rir#r%rtr!r!r"�+test_subclass_that_does_not_implement_npall�s
(z:TestArrayEqual.test_subclass_that_does_not_implement_npallc	Cs�t�t��ftjdd��:tj�t�gd�tj�t�gd�tj��Wd�n1sX0YWd�n1sv0YdS)N�raise)rir8)r&g�Ww'&l�7r.)	r[rr$r)ZerrstateZtestingrr*�float32r9r!r!r"�test_suppress_overflow_warnings�s�z.TestArrayEqual.test_suppress_overflow_warningsN)r;r<r=r?rKrQrRrUrYr]rgrur[�mark�skipifrr}r�r!r!r!r"r>Bs
�

r>c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestBuildErrorMessagecCs@t�gd��}t�gd��}d}t||g|�}d}t||�dS)N�gr�Z|
�?�r�Z|
@�&��@�g㈵��?�&��@�㈵�@�There is a mismatchz�
Items are not equal: There is a mismatch
 ACTUAL: array([1.00001, 2.00002, 3.00003])
 DESIRED: array([1.00002, 2.00003, 3.00004])�r)r*rr�rrOrP�err_msgrr r!r!r"�test_build_err_msg_defaults�sz1TestBuildErrorMessage.test_build_err_msg_defaultscCsDt�gd��}t�gd��}d}t||g|dd�}d}t||�dS)Nr�r�r�F)�verbosez)
Items are not equal: There is a mismatchr�r�r!r!r"�test_build_err_msg_no_verbose�sz3TestBuildErrorMessage.test_build_err_msg_no_verbosecCsDt�gd��}t�gd��}d}t||g|dd�}d}t||�dS)Nr�r�r�)ZFOOZBAR)�namesz{
Items are not equal: There is a mismatch
 FOO: array([1.00001, 2.00002, 3.00003])
 BAR: array([1.00002, 2.00003, 3.00004])r�r�r!r!r"�test_build_err_msg_custom_names�sz5TestBuildErrorMessage.test_build_err_msg_custom_namescCsDt�gd��}t�gd��}d}t||g|dd�}d}t||�dS)N)g0�D�?r�r�)g_p��?r�r�r�rM)Z	precisionz�
Items are not equal: There is a mismatch
 ACTUAL: array([1.000000001, 2.00002    , 3.00003    ])
 DESIRED: array([1.000000002, 2.00003    , 3.00004    ])r�r�r!r!r"�#test_build_err_msg_custom_precision�sz9TestBuildErrorMessage.test_build_err_msg_custom_precisionN)r;r<r=r�r�r�r�r!r!r!r"r��s	r�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�	TestEqualcCs
t|_dSr)rrr9r!r!r"r?	szTestEqual.setup_methodcCsH|�tjtj�|�tjgtjg�|�tjtjg�|�tjd�dS�Nr&)rr)rSr%r9r!r!r"�test_nan_itemsszTestEqual.test_nan_itemscCs:|�tjtj�|�tjgtjg�|�tjtjg�dSr)rr)rfr%r9r!r!r"�test_inf_itemsszTestEqual.test_inf_itemscCst|�t�dd�t�dd��|�t�dd�t�dd��|�t�dd�t�dd��|�t�dd�t�dd��dS)N�
2017-01-01�s�mz
2017-01-02)r#r)�
datetime64r%r9r!r!r"�
test_datetimes 

�

�

�

�zTestEqual.test_datetimecCstt�d�}t�dd�}t�dd�}t�d�}t�dd�}t�dd�}|||g}|||g}t�||�D]2\}	}
|�|	|
�|�|	g|
g�|�|	g|
�qdt�||�D]2\}	}
|�|	|
�|�|	g|
g�|�|	g|
�q�t�||�D]�\}	}
|�|	|
�|�|	|
g�|�|	g|
g�|�|	gt�dd��|�|
gt�dd��|�|	gt�dd��|�|
gt�dd��q�dS)N�NaTr��nsr��{)r)r�Ztimedelta64�	itertools�productrr%)rZnadt_no_unitZnadt_sZnadt_dZnatd_no_unitZnatd_sZnatd_dZdtsZtdsrr r!r!r"�test_nat_items+s0



zTestEqual.test_nat_itemscCs|�dd�|�dd�dS)N�abZabb)rr%r9r!r!r"�test_non_numericJszTestEqual.test_non_numericcCs�|�tdd�tdd��|�tdtj�tdtj��|�tdtj�tdd��|�ttjd�tdtj��|�ttjtj�ttjd��dS�Nr&r')r�complexr)rSr%rfr9r!r!r"�test_complex_itemNs
zTestEqual.test_complex_itemcCs|�tjtj�dSr)r%r)�PZERO�NZEROr9r!r!r"�test_negative_zeroUszTestEqual.test_negative_zerocCsRt�tdd�tdtj�g�}t�tdd�tdd�g�}|�||�|�||�dSr��r)r*r�rSrr%rNr!r!r"�test_complexXszTestEqual.test_complexcCsDddl}t�|�ddd�|�ddd�g�}|�||ddd��dS)Nri�r&r'���)�datetimer)r*r%)rr�rr!r!r"�test_object^s
�zTestEqual.test_objectN)
r;r<r=r?r�r�r�r�r�r�r�r�r�r!r!r!r"r�sr�c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestArrayAlmostEqualcCs
t|_dSr)rrr9r!r!r"r?hsz!TestArrayAlmostEqual.setup_methodcsL�jdddd�tt�fdd���jdgdgdd�tt�fdd��dS)N���?�r��decimalcs�jdddd�S�Ng�?r�rr�rr!r9r!r"�<lambda>u�z5TestArrayAlmostEqual.test_closeness.<locals>.<lambda>cs�jdgdgdd�Sr�rr!r9r!r"r�zr��rr	r$r9r!r9r"�test_closenessks
�
�z#TestArrayAlmostEqual.test_closenesscsRt�dg��t�dg���j��dd��j��dd�tt���fdd��dS)Ng��e��H�@g�w���H�@r.r�r/cs�j��dd�S)N�r�rr!rNr!r"r��r�z2TestArrayAlmostEqual.test_simple.<locals>.<lambda>�r)r*rr	r$r9r!rNr"�test_simple|s�z TestArrayAlmostEqual.test_simplecszt�tjg��t�dg��t�tjg�������tt���fdd��tt���fdd��tt���fdd��dS)Nr&cs�����Srrr!��anan�aonerr!r"r��r�z/TestArrayAlmostEqual.test_nan.<locals>.<lambda>cs�����Srrr!��ainfr�rr!r"r��r�cs�����Srrr!r�r!r"r��r��r)r*rSrfrr	r$r9r!�r�r�r�rr"�test_nan�s���zTestArrayAlmostEqual.test_nancsdt�ddgddgg������tj�d<tt���fdd��tj�d<tt���fdd��dS)	Nrorpr_r`)rrcs�����Srrr!�rr rr!r"r��r�z/TestArrayAlmostEqual.test_inf.<locals>.<lambda>cs�����Srrr!r�r!r"r��r�)r)r*rCrfr	r$r9r!r�r"�test_inf�s
��zTestArrayAlmostEqual.test_infcCs@t�ddgddgg�}tj�ddgddggddgddgg�}|�||�|�||�|�||�tjjddd	�}t�gd
��}|�||�|�||�tjj}t�gd
��}|�||�|�||�tjjgd
�gd�d	�}t�gd��}|�||�|�||�tjjgd
�gd�d	�}t�d�}|�||�|�||�dS)
Nrorpr_r`r�FTg@rbr^)TTT)rorpr_)r)r*rdZmasked_arrayrrer#Zmaskedrr!r!r"�
test_subclass�s.�
z"TestArrayAlmostEqual.test_subclasscCs6Gdd�dtj�}t�ddg��|�}|�||�dS)Ncs0eZdZ�fdd�Z�fdd�Zdd�Z�ZS)zGTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArraycst��|��tj�Sr��superrlrrr)rqrj��	__class__r!r"rl�szNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__cst��|��tj�Sr�r��__lt__rrr)rqrjr�r!r"r��szNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__c_st�dSr��NotImplementedErrorryr!r!r"ri�szKTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.all�r;r<r=rlr�ri�
__classcell__r!r!r�r"rn�srnrorp�r)rqr*rrr�rrnrr!r!r"�!test_subclass_that_cannot_be_bool�s
z6TestArrayAlmostEqual.test_subclass_that_cannot_be_boolN)
r;r<r=r?r�r�r�r�r�r�r!r!r!r"r�fs	
r�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestAlmostEqualcCs
t|_dSr)rrr9r!r!r"r?�szTestAlmostEqual.setup_methodcsL�jdddd�tt�fdd���jdgdgdd�tt�fdd��dS)Nr�r�rr�cs�jdddd�Sr�rr!r9r!r"r��r�z0TestAlmostEqual.test_closeness.<locals>.<lambda>cs�jdgdgdd�Sr�rr!r9r!r"r��r�r�r9r!r9r"r��s
�
�zTestAlmostEqual.test_closenesscsJ��tjtj�tt�fdd��tt�fdd��tt�fdd��dS)Ncs��tjd�Sr�)rr)rSr!r9r!r"r��r�z/TestAlmostEqual.test_nan_item.<locals>.<lambda>cs��tjtj�Sr)rr)rSrfr!r9r!r"r��r�cs��tjtj�Sr)rr)rfrSr!r9r!r"r��r�)rr)rSr	r$r9r!r9r"�
test_nan_item�s
�
�
�zTestAlmostEqual.test_nan_itemcsL��tjtj���tjtj�tt�fdd��tt�fdd��dS)Ncs��tjd�Sr��rr)rfr!r9r!r"r��r�z/TestAlmostEqual.test_inf_item.<locals>.<lambda>cs��tjtj�Srr�r!r9r!r"r��r�)rr)rfr	r$r9r!r9r"�
test_inf_item�s
�
�zTestAlmostEqual.test_inf_itemcCs|�dd�dSr�)r%r9r!r!r"�test_simple_item�sz TestAlmostEqual.test_simple_itemcCs�|�tdd�tdd��|�tdtj�tdtj��|�ttjtj�ttjtj��|�tdtj�tdd��|�ttjd�tdtj��|�ttjtj�ttjd��dSr�)rr�r)rSrfr%r9r!r!r"r��s z!TestAlmostEqual.test_complex_itemcCszt�tdd�tdtj�g�}t�tdd�ttjd�g�}t�tdd�tdd�g�}|�||�|�||�|�||�dSr�r�)rrO�zrPr!r!r"r��szTestAlmostEqual.test_complexcCsxt�gd��}t�gd��}t�t�� }|j||dd�Wd�n1sL0Yt|j��d�}t	|dd�t	|d	d
�t	|dd�t	|d
d�t	|dd�t�t��}|�||�Wd�n1s�0Yt|j��d�}t	|dd�t	|d	d
�t	|dd�t	|d
d�t	|dd�t�tj
dg�}t�tj
dg�}t�t��}|�||�Wd�n1�s�0Yt|j��d�}t	|dd�t	|d	d�t	|dd�t	|d
d�t	|dd�t�ddg�}t�ddg�}t�t��}|�||�Wd�n1�s00Yt|j��d�}t	|dd�t	|d	d�t	|dd�dS)z�Check the message is formatted correctly for the decimal value.
           Also check the message when input includes inf or nan (gh12200))g��?g�@r�)g�_�?g�@r��r�N�
r.z!Mismatched elements: 3 / 3 (100%)r/zMax absolute difference: 1.e-05r�z'Max relative difference: 3.33328889e-06�z8 x: array([1.00000000001, 2.00000000002, 3.00003      ])�z8 y: array([1.00000000002, 2.00000000003, 3.00004      ])z"Mismatched elements: 1 / 3 (33.3%)z& x: array([1.     , 2.     , 3.00003])z& y: array([1.     , 2.     , 3.00004])rr&z Mismatched elements: 1 / 2 (50%)�Max absolute difference: 1.�Max relative difference: 1.z x: array([inf,  0.])z y: array([inf,  1.])r'z!Mismatched elements: 2 / 2 (100%)zMax absolute difference: 2zMax relative difference: inf)r)r*r[rr$r�str�value�splitrrf�rrOrP�exc_infoZmsgsr!r!r"�test_error_messagesT.��*,,z"TestAlmostEqual.test_error_messagecCsd}t�d�}t�t��}|�||�Wd�n1s:0Yt|j��d�}t	|dd�t	|dd�t	|d	d
�d}t�d�}t�t��}|�||�Wd�n1s�0Yt|j��d�}t	|dd�t	|dd�t	|d	d�dS)zHCheck the message is formatted correctly when either x or y is a scalar.r'�Nr�r.z#Mismatched elements: 20 / 20 (100%)r/r�r�r��Max relative difference: 0.5)
r)�onesr[rr$rr�r�r�rr�r!r!r"�test_error_message_28s 
*
*z$TestAlmostEqual.test_error_message_2cCs6Gdd�dtj�}t�ddg��|�}|�||�dS)Ncs0eZdZ�fdd�Z�fdd�Zdd�Z�ZS)zBTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArraycst��|��tj�Srr�rjr�r!r"rlRszITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__cst��|��tj�Srr�rjr�r!r"r�UszITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__c_st�dSrr�ryr!r!r"riXszFTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.allr�r!r!r�r"rnQsrnrorpr�r�r!r!r"r�Ls
z1TestAlmostEqual.test_subclass_that_cannot_be_boolN)
r;r<r=r?r�r�r�r�r�r�r�r�r�r!r!r!r"r��s	6r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestApproxEqualcCs
t|_dSr)r
rr9r!r!r"r?aszTestApproxEqual.setup_methodcsNt�d��t�d���j��dd��j��dd�tt���fdd��dS)N�{�G�H�@�R���H�@r��Zsignificantr�cs�j��dd�S�Nr�r�rr!rNr!r"r�kr�z7TestApproxEqual.test_simple_0d_arrays.<locals>.<lambda>r�r9r!rNr"�test_simple_0d_arraysds

�z%TestApproxEqual.test_simple_0d_arrayscsRd�d��j��dd��j��dd��j��dd�tt���fdd��dS)	Nr�r�r/r�r�r�cs�j��dd�Sr�rr!rNr!r"r�ur�z3TestApproxEqual.test_simple_items.<locals>.<lambda>r�r9r!rNr"�test_simple_itemsms�z!TestApproxEqual.test_simple_itemscstt�tj��t�d��t�tj�������tt���fdd��tt���fdd��tt���fdd��dS)Nr&cs�����Srrr!r�r!r"r�|r�z0TestApproxEqual.test_nan_array.<locals>.<lambda>cs�����Srrr!r�r!r"r�}r�cs�����Srrr!r�r!r"r�~r�r�r9r!r�r"rUws
zTestApproxEqual.test_nan_arraycstt�tj��t�d��t�tj�������tt���fdd��tt���fdd��tt���fdd��dS)Nr&cs�����Srrr!r�r!r"r��r�z0TestApproxEqual.test_nan_items.<locals>.<lambda>cs�����Srrr!r�r!r"r��r�cs�����Srrr!r�r!r"r��r�r�r9r!r�r"r��s
zTestApproxEqual.test_nan_itemsN)r;r<r=r?r�r�rUr�r!r!r!r"r�_s
	
	r�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�TestArrayAssertLesscCs
t|_dSr)rrr9r!r!r"r?�sz TestArrayAssertLess.setup_methodcs|t�ddg��t�ddg�������tt���fdd��t�ddg��tt���fdd��tt���fd	d��dS)
N皙�����?皙����@�333333�?�ffffff@cs�����Srrr!rNr!r"r��r�z8TestArrayAssertLess.test_simple_arrays.<locals>.<lambda>rocs�����Srrr!rNr!r"r��r�cs�����Srrr!rNr!r"r��r�r�r9r!rNr"�test_simple_arrays�sz&TestArrayAssertLess.test_simple_arrayscs�t�ddgddgg��t�ddgddgg�������tt���fd	d
��t�ddgddgg��tt���fdd
��tt���fd
d
��dS)Nr�r��ffffff
@g������@r�r�g333333@g@cs�����Srrr!rNr!r"r��r�z0TestArrayAssertLess.test_rank2.<locals>.<lambda>rocs�����Srrr!rNr!r"r��r�cs�����Srrr!rNr!r"r��r�r�r9r!rNr"�
test_rank2�szTestArrayAssertLess.test_rank2csvtjdd��tjdd�d������tt���fdd��d�d<tt���fdd��tt���fd	d��dS)
N)r'r'r')�shaper&cs�����Srrr!rNr!r"r��r�z0TestArrayAssertLess.test_rank3.<locals>.<lambda>r)rrrcs�����Srrr!rNr!r"r��r�cs�����Srrr!rNr!r"r��r�)r)r�rr	r$r9r!rNr"�
test_rank3�szTestArrayAssertLess.test_rank3cs�d�d������tt���fdd��t�ddg�������tt���fdd��t�ddg��tt���fdd��dS)	Nr�r�cs�����Srrr!rNr!r"r��r�z7TestArrayAssertLess.test_simple_items.<locals>.<lambda>r�cs�����Srrr!rNr!r"r��r�rocs�����Srrr!rNr!r"r��r�)rr	r$r)r*r9r!rNr"r��sz%TestArrayAssertLess.test_simple_itemscs�t�tj��t�d��t�tj�������tt���fdd��tt���fdd��tt���fdd��tt���fdd��dS)Nr&cs�����Srrr!r�r!r"r��r�z9TestArrayAssertLess.test_nan_noncompare.<locals>.<lambda>cs�����Srrr!r�r!r"r��r�cs�����Srrr!r�r!r"r��r�cs�����Srrr!r�r!r"r��r�r�r9r!r�r"�test_nan_noncompare�s
z'TestArrayAssertLess.test_nan_noncomparecs�t�gd���t�tj��tt���fdd��tt���fdd��t�ddtjg��tt���fdd��tt���fdd��t�d	d
tjg�������tt���fdd��dS)N)r�r�r�cs�����Srrr!�r�rrOr!r"r��r�z?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>cs�����Srrr!r�r!r"r��r�r�r�cs�����Srrr!r�r!r"r��r�cs�����Srrr!r�r!r"r��r�rorpcs�����Srrr!rNr!r"r��r�)r)r*rSr	r$rr9r!)r�rrOrPr"�test_nan_noncompare_array�sz-TestArrayAssertLess.test_nan_noncompare_arraycs�t�d��t�tj�����������������tt���fdd��tt���fdd��tt��fdd��tt��fdd��tt��fdd��dS)Nr&cs�����Srrr!�r�r�rr!r"r��r�z6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>cs�����Srrr!r�r!r"r��r�cs�����Srrr!�r�rr!r"r��r�cs�����Srrr!rr!r"r��r�cs�����Srrr!rr!r"r��r�)r)r*rfrr	r$r9r!r�r"�test_inf_compare�s
z$TestArrayAssertLess.test_inf_comparecs�t�ddtjg��t�tj��tt���fdd��tt���fdd��tt���fdd��tt���fdd��tt���fdd�������dS)	Nr�r�cs�����Srrr!�r�rrOr!r"r��r�z<TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>cs�����Srrr!rr!r"r��r�cs�����Srrr!rr!r"r��r�cs�����Srrr!rr!r"r��r�cs�����Srrr!rr!r"r��r�)r)r*rfr	r$rr9r!rr"�test_inf_compare_array�sz*TestArrayAssertLess.test_inf_compare_arrayN)r;r<r=r?r�r�r�r�r�r�rrr!r!r!r"r��s

r�z$The raises decorator depends on Noservc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
TestRaisescCsGdd�dt�}||_dS)Nc@seZdZdS)z,TestRaises.setup_method.<locals>.MyExceptionN�r;r<r=r!r!r!r"�MyException�sr)�	Exception�e)rrr!r!r"r?�szTestRaises.setup_methodcCs|�dSrr!)rrr!r!r"�raises_exceptionszTestRaises.raises_exceptioncCsdSrr!r9r!r!r"�does_not_raise_exceptionsz#TestRaises.does_not_raise_exceptioncCst|j�|j�|j�dSr)rrr	r9r!r!r"�test_correct_catchszTestRaises.test_correct_catchcCs:zt|j�|j�t�Wnty,YdS0td��dS)Nzshould have caught RuntimeError)rrr	�RuntimeErrorr$r9r!r!r"�test_wrong_exception	s
zTestRaises.test_wrong_exceptioncCs8zt|j�|j��Wnty*YdS0td��dS)Nz$should have raised an AssertionError)rrr
r$r9r!r!r"�test_catch_no_raises
zTestRaises.test_catch_no_raiseN)	r;r<r=r?r	r
rr
rr!r!r!r"r�src@s$eZdZdd�Zdd�Zdd�ZdS)�	TestWarnscCshdd�}tjdjdd�}ttt|�d�tjdj}ttt|�ttdd�d�d�t||d�dS)	NcSst�d�dS)N�yor.��warnings�warnr!r!r!r"�fs
zTestWarns.test_warn.<locals>.frr.cSs|Srr!)rOr!r!r"r�&r�z%TestWarns.test_warn.<locals>.<lambda>r&�.assert_warns does not preserver warnings state)	�sys�modules�filtersrr
�UserWarningr	r$r)rr�before_filters�
after_filtersr!r!r"�	test_warns�zTestWarns.test_warncCsttjdjdd�}tt��t�d�Wd�n1s<0Ytjdj}dd�}tt|�t	||d�dS)NrrcSs4t��t�d�Wd�n1s&0YdS�Nr)rrrr!r!r!r"�no_warnings3sz3TestWarns.test_context_manager.<locals>.no_warningsr)
rrrr
rrrr	r$r)rrrrr!r!r"�test_context_manager,s
(
�zTestWarns.test_context_managerc	Csvdd�}d}t���Bt�dt�ztt|�d}WntyFYn0Wd�n1s\0Y|rrtd��dS)NcSst�dt�dSr)rr�DeprecationWarningr!r!r!r"r<sz,TestWarns.test_warn_wrong_warning.<locals>.fF�errorTz#wrong warning caught by assert_warn)r�catch_warnings�simplefilterr r
rr$)rrZfailedr!r!r"�test_warn_wrong_warning;s

$z!TestWarns.test_warn_wrong_warningN)r;r<r=rrr$r!r!r!r"rsrc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�TestAssertAllclosecCs�d}d}t||dd�ttt||�t�||||g�}t�||||g�}t||dd�ttt||�|d|d<t||�ttt||dd�tdd	d
d�tttd	dd
d�dS)Ng����MbP?g��&�.>r&)Zatolg�1��?r�)Zrtolr�rMg�?)rr	r$r)r*)rrOrPrr r!r!r"r�Os
zTestAssertAllclose.test_simplecCs*tjt�tj�jgtjd�}t||�dS)Nr3)r)r*ZiinfoZint_�minrr6r!r!r"�test_min_intcszTestAssertAllclose.test_min_intcCsjt�gd��}t�gd��}t�t��}t||�Wd�n1sF0Yt|j�}td|v�dS)N)r&r&r&r&)r&r&r&r'zXMismatched elements: 1 / 4 (25%)
Max absolute difference: 1
Max relative difference: 0.5�	r)r*r[rr$rr�r�r�rrr r��msgr!r!r"�test_report_fail_percentagehs(
�z.TestAssertAllclose.test_report_fail_percentagecCs.t�tjg�}t�tjg�}t||dd�dS)NT�Z	equal_nan)r)r*rSrrr!r!r"�test_equal_nanssz!TestAssertAllclose.test_equal_nancCs2t�tjg�}t�tjg�}ttt||dd�dS)NFr,)r)r*rSr	r$rrr!r!r"�test_not_equal_nanysz%TestAssertAllclose.test_not_equal_nancCsHt�tjg�}t�tjg�}t||�t||�t||�t||�dSr)r)r*rSrrrrrr!r!r"�test_equal_nan_default~s


z)TestAssertAllclose.test_equal_nan_defaultcCsjt�ddg�}t�ddg�}t�t��}t||�Wd�n1sF0Yt|j�}td|v�dS)Nrr&r'r�r(r)r!r!r"�test_report_max_relative_error�s(
z1TestAssertAllclose.test_report_max_relative_errorcCs"tjgd�gdd�}t||�dS)N)r&r'r.r�zm8[ns]r3)r)r*rr6r!r!r"�test_timedelta�sz!TestAssertAllclose.test_timedeltaN)r;r<r=r�r'r+r-r.r/r0r1r!r!r!r"r%Ms	r%c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�TestArrayAlmostEqualNulpcCs�d}tjdddtjd�}d|}tj||f}t�|j�j}||||d}t|||�t�|j�j}||||d}t|||�dS�Nr����r��2r3rMrp�	r)�linspace�float64�r_�finfor4�epsr�epsneg�r�nulprOr;rPr<r!r!r"�test_float64_pass�sz*TestArrayAlmostEqualNulp.test_float64_passcCs�d}tjdddtjd�}d|}tj||f}t�|j�j}||||d}ttt	|||�t�|j�j
}||||d}ttt	|||�dSr3�r)r7r8r9r:r4r;r	r$rr<r=r!r!r"�test_float64_fail�s��z*TestArrayAlmostEqualNulp.test_float64_failcCsTt�d�}tjtjtjd��tj�}||A}|�tj�}|�tj�}t||d�dS)Nl��r3r)r)Zuint64r*rSr8rrr)r�offsetZnan1_i64Znan2_i64Znan1_f64Znan2_f64r!r!r"�test_float64_ignore_nan�s
z0TestArrayAlmostEqualNulp.test_float64_ignore_nancCs�d}tjdddtjd�}d|}tj||f}t�|j�j}||||d}t|||�t�|j�j}||||d}t|||�dSr3�	r)r7rr9r:r4r;rr<r=r!r!r"�test_float32_pass�sz*TestArrayAlmostEqualNulp.test_float32_passcCs�d}tjdddtjd�}d|}tj||f}t�|j�j}||||d}ttt	|||�t�|j�j
}||||d}ttt	|||�dSr3�r)r7rr9r:r4r;r	r$rr<r=r!r!r"�test_float32_fail�s��z*TestArrayAlmostEqualNulp.test_float32_failcCsTt�d�}tjtjtjd��tj�}||A}|�tj�}|�tj�}t||d�dS)Ni��r3r)r)Zuint32r*rSrrrr)rrBZnan1_i32Znan2_i32Znan1_f32Znan2_f32r!r!r"�test_float32_ignore_nan�s
z0TestArrayAlmostEqualNulp.test_float32_ignore_nancCs�d}tjdddtjd�}d|}tj||f}t�|j�j}||||d}t|||�t�|j�j}||||d}t|||�dS�Nr����r/rMr3rp)	r)r7�float16r9r:r4r;rr<r=r!r!r"�test_float16_pass�sz*TestArrayAlmostEqualNulp.test_float16_passcCs�d}tjdddtjd�}d|}tj||f}t�|j�j}||||d}ttt	|||�t�|j�j
}||||d}ttt	|||�dSrI)r)r7rKr9r:r4r;r	r$rr<r=r!r!r"�test_float16_fail�s��z*TestArrayAlmostEqualNulp.test_float16_failcCsTt�d�}tjtjtjd��tj�}||A}|�tj�}|�tj�}t||d�dS)N�r3r)r)Zuint16r*rSrKrrr)rrBZnan1_i16Znan2_i16Znan1_f16Znan2_f16r!r!r"�test_float16_ignore_nans
z0TestArrayAlmostEqualNulp.test_float16_ignore_nancCs$d}tjdddtjd�}d|}tj||f}||d}t�|j�j}||||d}t|||d|�t|||d|�||||d	}t|||d|�t�|j�j}||||d}t|||d|�t|||d|�||||d	}t|||d|�dS�
Nr�r4r�r5r3rM��?rpr`r6�rr>rOZxir;rPr<r!r!r"�test_complex128_passs"z-TestArrayAlmostEqualNulp.test_complex128_passcCs4d}tjdddtjd�}d|}tj||f}||d}t�|j�j}||||d}ttt	|||d|�ttt	|||d|�||||}ttt	|||d|�t�|j�j
}||||d}ttt	|||d|�ttt	|||d|�||||}ttt	|||d|�dS�	Nr�r4r�r5r3rMrQrpr@rRr!r!r"�test_complex128_fail0s:������z-TestArrayAlmostEqualNulp.test_complex128_failcCs$d}tjdddtjd�}d|}tj||f}||d}t�|j�j}||||d}t|||d|�t|||d|�||||d	}t|||d|�t�|j�j}||||d}t|||d|�t|||d|�||||d	}t|||d|�dSrPrDrRr!r!r"�test_complex64_passMs"z,TestArrayAlmostEqualNulp.test_complex64_passcCs4d}tjdddtjd�}d|}tj||f}||d}t�|j�j}||||d}ttt	|||d|�ttt	|||d|�||||}ttt	|||d|�t�|j�j
}||||d}ttt	|||d|�ttt	|||d|�||||}ttt	|||d|�dSrTrFrRr!r!r"�test_complex64_failbs:������z,TestArrayAlmostEqualNulp.test_complex64_failN)r;r<r=r?rArCrErGrHrLrMrOrSrUrVrWr!r!r!r"r2�sr2c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestULPcCstj�d�}t||dd�dS)NrMr��maxulp)r)�random�randnr)rrOr!r!r"�
test_equal�szTestULP.test_equalcCsRt�d��tj�}|dtj�d��tj�7}t�tj�j}t|||dd�dS)NrM�{�G�z�?r�rY)	r)r��astyperr[r\r:r;r�rrOr;r!r!r"�test_single�szTestULP.test_singlecCsRt�d��tj�}|dtj�d��tj�7}t�tj�j}t|||dd�dS)NrMr^��rY)	r)r�r_r8r[r\r:r;rr`r!r!r"�test_double�szTestULP.test_doublecCsLtjtjfD]:}t�tjg��|�}t�t�|�jg�}t||dd�qdS)NrbrY)	r)rr8r*rfr_r:�maxr)r�dtrf�bigr!r!r"r��szTestULP.test_infcstjtjfD]�}|tjkr d�nd�t�tjg��|��t�tjg��|��t�t�|�jg��t�t�|�j	g��t�tj
g��|��t�tjg��|��tt
���fdd��tt
���fdd��tt
���fdd��tt
���fdd��tt
���fdd��qdS)	Ng��.Ag��mBcst���d�S�NrY�rr!)rfrZrSr!r"r��s�z"TestULP.test_nan.<locals>.<lambda>cst���d�Srgrhr!)rfrZrSr!r"r��s�cst���d�Srgrhr!)rZrS�tinyr!r"r��s�cst���d�Srgrhr!)rZrS�zeror!r"r��s�cst���d�Srgrhr!)rZrS�nzeror!r"r��s�)r)rr8r*rfr_rSr:rdrir�r�r	r$)rrer!)rfrfrZrSrkrirjr"r��s2
�����zTestULP.test_nanN)r;r<r=r]rarcr�r�r!r!r!r"rX~s
rXc@seZdZdd�Zdd�ZdS)�TestStringEqualcCsntdd�tdd�t�t��}tdd�Wd�n1s>0Yt|j�}t|d�ttdd��dS)N�hellozhello
multilinezfoo
barz	hello
barz%Differences in strings:
- foo
+ hellocSs
tdd�S)NrGrm�rr!r!r!r"r��r�z-TestStringEqual.test_simple.<locals>.<lambda>)rr[rr$r�r�rr	)rr�r*r!r!r"r��s

(

�zTestStringEqual.test_simplecCstdd�ttdd��dS)Nza+*bcSs
tdd�S)NZaaaza+brnr!r!r!r"r��r�z,TestStringEqual.test_regex.<locals>.<lambda>)rr	r$r9r!r!r"�
test_regex�s
�zTestStringEqual.test_regexN)r;r<r=r�ror!r!r!r"rl�srlcCsHz
|j}Wnty i}Yn0t|�}d|vr:|d8}t||�dS)N�versionr&)�__warningregistry__�AttributeError�lenr)�mod�n_in_contextZ	mod_warnsZ	num_warnsr!r!r"�assert_warn_len_equal�s

rvcCsDGdd�d�}|�}t|dd�Gdd�d�}|�}t|dd�dS)Nc@seZdZdS)�/test_warn_len_equal_call_scenarios.<locals>.modNrr!r!r!r"rt�srtr)rtruc@seZdZdd�ZdS)rwcSsddd�|_dS)Nr&r'�Zwarning1Zwarning2)rqr9r!r!r"�__init__�s�z8test_warn_len_equal_call_scenarios.<locals>.mod.__init__N)r;r<r=ryr!r!r!r"rt�sr')rv)rtZmod_instr!r!r"�"test_warn_len_equal_call_scenarios�s��rzcCs0tjt}z|j��Wnty*Yn0|Sr)rrr;rq�clearrr��my_modr!r!r"�_get_fresh_mod�s
r~cCsHt�}tt|di�i�t|gd��$t�d�t�d�Wd�n1sN0Yt|ji�t��$t�d�t�d�Wd�n1s�0Yt|d�ddd�|_t|gd��$t�d�t�d	�Wd�n1s�0Yt|d�t��$t�d�t�d	�Wd�n1�s00Yt|d�dS)
Nrq)r�ignore�Some warningrr&r'rxzAnother warning)	r~r�getattrrrr#rrqrvr|r!r!r"�test_clear_and_catch_warnings	s*
(
(
�
(

*r�cCs�t�}tt|di�i�dd�}t|d�t��:}|�t�|jtj	j
d�t�d�|�Wd�n1sp0Ytt
|j�d�t|jdjjdd�t|d�t�}|j|d�|�t�d�Wd�n1s�0Yt|d�|j|d�|�t�d�Wd�n1�s(0Yt|d�t��$t�d�t�d�Wd�n1�sn0Yt|d�dS)	NrqcSsdd�}t�|ddg�dS)NcSstjddd�|S)NzSome warning 2r'��
stacklevelr�Zarrr!r!r"r1szFtest_suppress_warnings_module.<locals>.warn_other_module.<locals>.warnr�r)Zapply_along_axis�rr!r!r"�warn_other_module.sz8test_suppress_warnings_module.<locals>.warn_other_moduler��moduler�r&r)r~rr�rvr�recordr�filterr)�libZ
shape_baserrrs�log�messagerzr#)r}r��supr!r!r"�test_suppress_warnings_module)s2	


$
(
*

*r�cCs2t�}tt|di�i�t��$}|�t�t�d�Wd�n1sH0Yt|d�t�}|�t�|�t�d�Wd�n1s�0Yt|d�|j|d�|�t�d�Wd�n1s�0Yt|d�t��$t�	d�t�d�Wd�n1�s0Yt|d�dS)Nrqr�rr�r)
r~rr�rr�rrrrvr#)r}r�r!r!r"�test_suppress_warnings_typeWs&
(

(
(

*r�cCstt�}|�t�|dd��}tjdd��8}t�d�|t�|t�tt|�d�Wd�n1sf0YdS)NcSst�d|�dS)Nr�r)�categoryr!r!r"rwsz7test_suppress_warnings_decorate_no_record.<locals>.warnT)r��alwaysr&)	rr�rrr"r#�RuntimeWarningrrs)r�r�wr!r!r"�)test_suppress_warnings_decorate_no_recordss


r�c	Cs�t�}|��}|��|jdd�}|jdd�t�d�t�d�t�d�tt|j�d�tt|�d�tt|�d�t|djj	dd�Wd�n1s�0Y|��|jdd�}|jdd�t�d�t�d�t�d�tt|j�d�tt|�d�tt|�d�t|djj	dd�Wd�n1�s>0Yt���}|��t��@}|jdd�t�d�t�d�tt|j�d�Wd�n1�s�0Ytt|j�d�Wd�n1�s�0YdS)NzSome other warning 2)r�r��Some other warningr'r&r)
rr�r�rrrrsr�r�rz)r�Zlog1Zlog2Zsup2r!r!r"�test_suppress_warnings_record�s<


4


6

0r�c	Cs<dd�}t��h}|��td��(td�D]}t�d�q*Wd�n1sN0Ytt|j�d�Wd�n1s|0Yt��r}|��td��2td�D]}t�d�t�d�q�Wd�n1s�0Ytt|j�d�Wd�n1�s0Yt��|}|��td��:td�D] }t�d�t�d�|��q2Wd�n1�sj0Ytt|j�d�Wd�n1�s�0Yt��|}|��td��:td�D] }t�d�t�d	�|��q�Wd�n1�s�0Ytt|j�d�Wd�n1�s.0YdS)
NcSsdd�}t�|ddg�dS)NcSstjddd�|S)Nr�r'r�rr�r!r!r"r�szJtest_suppress_warnings_forwarding.<locals>.warn_other_module.<locals>.warnrr�r�r!r!r"r��sz<test_suppress_warnings_forwarding.<locals>.warn_other_moduler�r'r��locationr��oncer�)rr��rangerrrrsr�)r�r��ir!r!r"�!test_suppress_warnings_forwarding�s<
*.

*0


*0


*r�c	Cs�t��H}tj�|d�}t|d��Wd�n1s60YWd�n1sT0Yttj�|��d}z0t��}t��Wd�n1s�0YWnty�d}Yn0t|�ttj�|��dS)N�tmpr�FT)r�os�path�join�openr�isdir�
ValueError)Ztdir�fpath�raisedr!r!r"�test_tempdir�s<(
r�c	Cs�t��:}t|d��Wd�n1s(0YWd�n1sF0Yttj�|��d}z0t��}t��Wd�n1s�0YWnty�d}Yn0t|�ttj�|��dS)Nr�FT)rr�rr�r��isfiler�)r�r�r!r!r"�
test_temppath�s<(
r�c@seZdZejefZdS)�my_cacwN)r;r<r=rrZ
class_modulesr!r!r!r"r��sr�cCsPt�}t��$t�d�t�d�Wd�n1s60Yt|ji�dS)Nrr�)r~r�rr#rrrqr|r!r!r"�%test_clear_and_catch_warnings_inherit�s

(r�zPython lacks refcountsc@s0eZdZdZdd�Zdd�Zejjdd��Z	dS)	�TestAssertNoGcCyclesz Test assert_no_gc_cycles cCs@dd�}t��|�Wd�n1s*0Yt|�dS)NcSsg}|�g�|Sr��append)r r!r!r"�no_cycles
z2TestAssertNoGcCycles.test_passes.<locals>.no_cycle)r)rr�r!r!r"�test_passess$z TestAssertNoGcCycles.test_passesc	Cs�dd�}tt��<t��|�Wd�n1s40YWd�n1sR0Ytt��t|�Wd�n1s�0YdS)NcSsg}|�|�|�|�|Srr�)rr!r!r"�
make_cycles

z5TestAssertNoGcCycles.test_asserts.<locals>.make_cycle)r	r$r)rr�r!r!r"�test_assertss
B
z!TestAssertNoGcCycles.test_assertscs�G�fdd�d��zxt����}z8tt��tdd��Wd�n1sL0YWn(ty�|�dur|t�d��Yn0Wd�_nd�_0dS)z�
        Test that in cases where the garbage cannot be collected, we raise an
        error, instead of hanging forever trying to clear it.
        cs(eZdZdZdZdd�Z�fdd�ZdS)z<TestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDelz�
            An object that not only contains a reference cycle, but creates new
            cycles whenever it's garbage-collected and its __del__ runs
            TcSs
||_dSr)�cycler9r!r!r"ry2szETestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__init__csd|_�jr��dSr)r�r�r9��ReferenceCycleInDelr!r"�__del__5szDTestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__del__N)r;r<r=�__doc__r�ryr�r!r�r!r"r�+sr�cSsdSrr!r!r!r!r"r�Cr�z1TestAssertNoGcCycles.test_fails.<locals>.<lambda>Nz*GC does not call __del__ on cyclic objectsF)	�weakref�refr	rrr$r[�skipr�)rr�r!r�r"�
test_fails$s
.


zTestAssertNoGcCycles.test_failsN)
r;r<r=r�r�r�r[r�Zslowr�r!r!r!r"r�s
r�)@rrr�r�r[r�Znumpyr)Z
numpy.testingrrrrrrrr	r
rrr
rrrrrrrrrrZnumpy.core.overridesrrr>r�r�r�r�r�r�r�r�rrr%r2rXrlrvrzr~r�r�r�r�r�r�r�r�r�r�r�r�r!r!r!r"�<module>sR`.-_b+m"3Kg8 .(/	

Zerion Mini Shell 1.0