403Webshell
Server IP : 46.101.140.223  /  Your IP : 216.73.217.61
Web Server : nginx/1.22.1
System : Linux debian-s-1vcpu-1gb-fra1-01 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : deploy-others ( 1001)
PHP Version : 8.2.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/numpy/testing/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/numpy/testing/tests/__pycache__/test_utils.cpython-311.pyc
�

���c����$�ddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlm Z Gd�d��Z!Gd�de!��Z"Gd�d	��Z#Gd
�de"��Z$Gd�d
e!��Z%Gd�de!��Z&Gd�d��Z'Gd�d��Z(ej)�*d���Gd�d����Z+Gd�d��Z,Gd�d��Z-Gd�d��Z.Gd�d��Z/Gd �d!��Z0d"�Z1d#�Z2d$�Z3d%�Z4d&�Z5d'�Z6d(�Z7d)�Z8d*�Z9d+�Z:d,�Z;Gd-�d.e��Z<d/�Z=ej)�>ed0���Gd1�d2����Z?dS)3�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�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�_GenericTestc�2�|�||��dS�N��_assert_func��self�a�bs   �@/usr/lib/python3/dist-packages/numpy/testing/tests/test_utils.py�_test_equalz_GenericTest._test_equals�����!�Q������c��tt��5|�||��ddd��dS#1swxYwYdSr)r
�AssertionErrorrr s   r$�_test_not_equalz_GenericTest._test_not_equals���
�>�
*�
*�	$�	$����a��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s
�9�=�=c��tjddg��}tjddg��}|�||��dS)z/Test two equal array of rank 1 are found equal.��N��np�arrayr%r s   r$�test_array_rank1_eqz _GenericTest.test_array_rank1_eqsD���H�a��V�����H�a��V��������A�����r&c��tjddg��}tjddg��}|�||��dS)z7Test two different array of rank 1 are found not equal.r+r,N�r.r/r)r s   r$�test_array_rank1_noteqz#_GenericTest.test_array_rank1_noteq$sD���H�a��V�����H�a��V�������Q��"�"�"�"�"r&c��tjddgddgg��}tjddgddgg��}|�||��dS)z/Test two equal array of rank 2 are found equal.r+r,��Nr-r s   r$�test_array_rank2_eqz _GenericTest.test_array_rank2_eq+sV���H�q�!�f�q�!�f�%�&�&���H�q�!�f�q�!�f�%�&�&������A�����r&c��tjddg��}tjddgddgg��}|�||��dS)�:Test two arrays with different shapes are found not equal.r+r,Nr2r s   r$�test_array_diffshapez!_GenericTest.test_array_diffshape2sM���H�a��V�����H�q�!�f�q�!�f�%�&�&�����Q��"�"�"�"�"r&c�l�tjddgt���}|�|d��dS)zTest object arrays.r+��dtypeN)r.r/�objectr%�r!r"s  r$�
test_objarrayz_GenericTest.test_objarray9s6���H�a��V�6�*�*�*������A�����r&c�6�|�gd�d��dS)N�r+r,r5)r%�r!s r$�test_array_likesz_GenericTest.test_array_likes>s"��������I�.�.�.�.�.r&N)�__name__�
__module__�__qualname__r%r)r0r3r7r:r@rD�r&r$rrs������� � � �$�$�$����#�#�#����#�#�#����
/�/�/�/�/r&rc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zej
�ed
���d���Zd
�Zd�Zd�Zd�Zd�Zd�ZdS)�TestArrayEqualc��t|_dSr)rrrCs r$�setup_methodzTestArrayEqual.setup_methodDs��.����r&c�R���fd�}dD]
}||���dD]
}||���dS)z!Test rank 1 array for all dtypes.c�.��tjd|��}|�d��|���}|���}|�d����||����||��dS)Nr,r+r�r.�empty�fill�copyr%r)��tr"r#�cr!s    �r$�fooz.TestArrayEqual.test_generic_rank1.<locals>.fooIs|������A���A�
�F�F�1�I�I�I������A������A�
�F�F�1�I�I�I����Q��"�"�"�� � ��A�&�&�&�&�&r&�?bhilqpBHILQPfdgFDG��S1�U1NrH�r!rVrTs`  r$�test_generic_rank1z!TestArrayEqual.test_generic_rank1G�f���	'�	'�	'�	'�	'�'�	�	�A��C��F�F�F�F��	�	�A��C��F�F�F�F�	�	r&c�v�tjd��}tjd��}tt|j||��|}|�||��tjd��}tjd��}tt|j||��|}|�||��dS)NlCj�<T"3��w�
�-l(M$c7u��v��+�
)r.r/r
r(r�r!�x�ys   r$�test_0_ndim_arrayz TestArrayEqual.test_0_ndim_arrayZs����H�9�:�:���H�8�9�9���n�d�&7��A�>�>�>�
�����!�Q�����H�R�L�L���H�R�L�L���n�d�&7��A�>�>�>�
�����!�Q�����r&c�R���fd�}dD]
}||���dD]
}||���dS)z!Test rank 3 array for all dtypes.c�.��tjd|��}|�d��|���}|���}|�d����||����||��dS)N)r6r,r5r+rrOrSs    �r$rVz.TestArrayEqual.test_generic_rank3.<locals>.fooks~������A�&�&�A�
�F�F�1�I�I�I������A������A�
�F�F�1�I�I�I����Q��"�"�"�� � ��A�&�&�&�&�&r&rWrXNrHr[s`  r$�test_generic_rank3z!TestArrayEqual.test_generic_rank3ir]r&c��tjddtjg��}tjddtjg��}|�||��tjgd���}|�||��dS)z$Test arrays with nan values in them.r+r,rBN)r.r/�nanr%r)�r!r"r#rUs    r$�test_nan_arrayzTestArrayEqual.test_nan_array|su���H�a��B�F�^�$�$���H�a��B�F�^�$�$������A�����H�Y�Y�Y�������Q��"�"�"�"�"r&c���tjddg��}tjddg��}|�||��tjddg��}|�||��dS)r9�floupi�floupa�floupipiN)r.r/r%r)rjs    r$�test_string_arraysz!TestArrayEqual.test_string_arrays�sp���H�h��)�*�*���H�h��)�*�*������A�����H�j�(�+�,�,�����Q��"�"�"�"�"r&c��tjddtfdtfg��}ddg|d<ddg|d<|���}|�||��tjddtfdtfdtfg��}|d���|d<|d���|d<tjt��5|�||��ddd��dS#1swxYwYdS)zTest record arrays.r,rmrnr+roN)	r.rP�floatrRr%�pytestr	�	TypeErrorr)rjs    r$�test_recarrayszTestArrayEqual.test_recarrays�sK���H�Q�(�E�*�X�u�,=�>�?�?���!�f��(���!�f��(��
�F�F�H�H������A�����H�Q�*�e�,�"�E�*�X�u�,=�?�
@�
@���(��(�(�*�*��*�
���k�&�&�(�(��(��
�]�9�
%�
%�	'�	'�� � ��A�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's�D�D�	Dc���tj�gd�gd����}tjdtjdg��}|�||��|�||��tj�gd�gd����}tjtjddg��}|�||��|�||��dS)N��@�@�@)FTF��maskrxrz)TFFry)r.�ma�MaskedArrayr/rir%�infr s   r$�test_masked_nan_infz"TestArrayEqual.test_masked_nan_inf�s����E���m�m�m�2F�2F�2F��G�G���H�b�"�&�#�&�'�'������A��������A�����E���m�m�m�2F�2F�2F��G�G���H�b�f�b�#�&�'�'������A��������A�����r&c��Gd�dtj��}tjddg���|��}tjddg���|��}t	t||k��t��t	||k��t	||k��|�||��|�||��|�||��dS)Nc��eZdZd�Zd�ZdS)�?TestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArrayc�j�ttj||�������Sr)�boolr.�equal�all�r!�others  r$�__eq__zFTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__eq__�s(���B�H�T�5�1�1�5�5�7�7�8�8�8r&c��||kSrrHr�s  r$�__ne__zFTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__ne__�s���5�=�(�(r&N)rErFrGr�r�rHr&r$�MyArrayr��s2������
9�
9�
9�
)�
)�
)�
)�
)r&r���?�@rx)	r.�ndarrayr/�viewr�typer�r%r)�r!r�r"r#s    r$�test_subclass_that_overrides_eqz.TestArrayEqual.test_subclass_that_overrides_eq�s���
	)�	)�	)�	)�	)�b�j�	)�	)�	)�
�H�b�"�X���#�#�G�,�,���H�b�"�X���#�#�G�,�,����Q�!�V���d�#�#�#���Q�������Q���������A�������Q��"�"�"����Q��"�"�"�"�"r&zrequires __array_function__��reasonc���Gd�dtj��}tjddg���|��}tjddg���|��}t	t
��5tj|��ddd��n#1swxYwY|�||��|�||��|�||��dS)Nc��eZdZd�ZdS)�KTestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArrayc��tSr)�NotImplemented�r!�args�kwargss   r$�__array_function__z^TestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArray.__array_function__�s��%�%r&N)rErFrGr�rHr&r$r�r��s#������
&�
&�
&�
&�
&r&r�r�r�rx)	r.r�r/r�r
rtr�r%r)r�s    r$�+test_subclass_that_does_not_implement_npallz:TestArrayEqual.test_subclass_that_does_not_implement_npall�s*��	&�	&�	&�	&�	&�b�j�	&�	&�	&�
�H�b�"�X���#�#�G�,�,���H�b�"�X���#�#�G�,�,��
�9�
%�
%�	�	��F�1�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�����A�������Q��"�"�"����Q��"�"�"�"�"s�?B � B$�'B$c	��tjt��5tjd���5tj�tjgd�tj��tjgd�tj����ddd��n#1swxYwYddd��dS#1swxYwYdS)N�raise)r�rB)r+g�Ww'&l�7r5)	rsr	r(r.�errstate�testingrr/�float32rCs r$�test_suppress_overflow_warningsz.TestArrayEqual.test_suppress_overflow_warnings�s"��
�]�>�
*�
*�	9�	9����)�)�)�
9�
9��
�-�-��H�Y�Y�Y��
�3�3��H�]�]�]�B�J�7�7�9�9�9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s5�B3�AB�B3�B	�B3�"B	�#B3�3B7�:B7c�b�tjgd���}d}|�||��dS)z@Test comparing an array with a scalar when all values are equal.�r�r�r�r�Nr-r s   r$�test_array_vs_scalar_is_equalz,TestArrayEqual.test_array_vs_scalar_is_equal�s6���H�\�\�\�"�"��������A�����r&c�b�tjgd���}d}|�||��dS)z@Test comparing an array with a scalar when not all values equal.�r�r�rxr�Nr2r s   r$�test_array_vs_scalar_not_equalz-TestArrayEqual.test_array_vs_scalar_not_equal�s6���H�\�\�\�"�"�������Q��"�"�"�"�"r&c��tjgd���}d}tjt��5t||d���ddd��dS#1swxYwYdS)z9Test comparing an array with a scalar with strict option.r�r�T��strictN�r.r/rsr	r(rr s   r$�test_array_vs_scalar_strictz*TestArrayEqual.test_array_vs_scalar_strict�s����H�\�\�\�"�"����
�]�>�
*�
*�	2�	2��q�!�D�1�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s�A�A�Ac��tjgd���}tjgd���}t||d���dS)�-Test comparing two arrays with strict option.r�Tr�N)r.r/rr s   r$�test_array_vs_array_strictz)TestArrayEqual.test_array_vs_array_strict�sC���H�\�\�\�"�"���H�\�\�\�"�"���1�a��-�-�-�-�-�-r&c���tjgd���}tjgd���}tjt��5t||d���ddd��dS#1swxYwYdS)r�)r+r+r+r�Tr�Nr�r s   r$� test_array_vs_float_array_strictz/TestArrayEqual.test_array_vs_float_array_strict�s����H�Y�Y�Y�����H�\�\�\�"�"��
�]�>�
*�
*�	2�	2��q�!�D�1�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s�A&�&A*�-A*N)rErFrGrLr\rdrgrkrprur�r�rs�mark�skipifrr�r�r�r�r�r�r�rHr&r$rJrJBs7������/�/�/����&
 �
 �
 ����&#�#�#�	#�	#�	#�'�'�'�"	�	�	�#�#�#�*�[���"�"�+H��J�J�#�#�J�J�#�9�9�9����#�#�#�2�2�2�.�.�.�2�2�2�2�2r&rJc�&�eZdZd�Zd�Zd�Zd�ZdS)�TestBuildErrorMessagec��tjgd���}tjgd���}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�r!rbrc�err_msgr"r#s      r$�test_build_err_msg_defaultsz1TestBuildErrorMessage.test_build_err_msg_defaultsse���H�0�0�0�1�1���H�0�0�0�1�1��'���1�a�&�'�*�*��"��	�Q������r&c��tjgd���}tjgd���}d}t||g|d���}d}t||��dS)Nr�r�r�F)�verbosez)
Items are not equal: There is a mismatchr�r�s      r$�test_build_err_msg_no_verbosez3TestBuildErrorMessage.test_build_err_msg_no_verbosesf���H�0�0�0�1�1���H�0�0�0�1�1��'���1�a�&�'�5�9�9�9��8���Q������r&c��tjgd���}tjgd���}d}t||g|d���}d}t||��dS)Nr�r�r�)�FOO�BAR)�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�s      r$�test_build_err_msg_custom_namesz5TestBuildErrorMessage.test_build_err_msg_custom_namessj���H�0�0�0�1�1���H�0�0�0�1�1��'���1�a�&�'��@�@�@����	�Q������r&c��tjgd���}tjgd���}d}t||g|d���}d}t||��dS)N)g0�D�?r�r�)g_p��?r�r�r�r`)�	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�s      r$�#test_build_err_msg_custom_precisionz9TestBuildErrorMessage.test_build_err_msg_custom_precision sj���H�4�4�4�5�5���H�4�4�4�5�5��'���1�a�&�'�R�8�8�8��7��	�Q������r&N)rErFrGr�r�r�r�rHr&r$r�r��sP������	�	�	����	�	�	�	�	�	�	�	r&r�c�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�	TestEqualc��t|_dSr)rrrCs r$rLzTestEqual.setup_method.s��(����r&c�H�|�tjtj��|�tjgtjg��|�tjtjg��|�tjd��dS�Nr+)rr.rir)rCs r$�test_nan_itemszTestEqual.test_nan_items1st�����"�&�"�&�)�)�)����2�6�(�R�V�H�-�-�-����R�V�b�f�X�.�.�.����R�V�Q�'�'�'�'�'r&c��|�tjtj��|�tjgtjg��|�tjtjg��dSr)rr.rr)rCs r$�test_inf_itemszTestEqual.test_inf_items7s\�����"�&�"�&�)�)�)����2�6�(�R�V�H�-�-�-����R�V�b�f�X�.�.�.�.�.r&c���|�tjdd��tjdd����|�tjdd��tjdd����|�tjdd��tjdd����|�tjdd��tjdd����dS)N�
2017-01-01�s�mz
2017-01-02)r%r.�
datetime64r)rCs r$�
test_datetimezTestEqual.test_datetime<s�������M�,��,�,��M�,��,�,�	
�	
�	
�	
����M�,��,�,��M�,��,�,�	
�	
�	
�	
����M�,��,�,��M�,��,�,�	
�	
�	
�	
����M�,��,�,��M�,��,�,�	
�	
�	
�	
�	
r&c��tjd��}tjdd��}tjdd��}tjd��}tjdd��}tjdd��}|||g}|||g}tj||��D]J\}	}
|�|	|
��|�|	g|
g��|�|	g|
���Ktj||��D]J\}	}
|�|	|
��|�|	g|
g��|�|	g|
���Ktj||��D]�\}	}
|�|	|
��|�|	|
g��|�|	g|
g��|�|	gtjdd����|�|
gtjdd����|�|	gtjdd����|�|
gtjdd������dS)N�NaTr��nsr��{)r.r��timedelta64�	itertools�productrr))r!�nadt_no_unit�nadt_s�nadt_d�natd_no_unit�natd_s�natd_d�dts�tdsr"r#s           r$�test_nat_itemszTestEqual.test_nat_itemsPs[���}�U�+�+����u�c�*�*����u�d�+�+���~�e�,�,�����s�+�+�����t�,�,���V�V�,���V�V�,���%�c�3�/�/�	)�	)�D�A�q����a��#�#�#����q�c�A�3�'�'�'�� � �!��a�(�(�(�(��%�c�3�/�/�	)�	)�D�A�q����a��#�#�#����q�c�A�3�'�'�'�� � �!��a�(�(�(�(��%�c�3�/�/�	@�	@�D�A�q�� � ��A�&�&�&�� � ��Q�C�(�(�(�� � �!��q�c�*�*�*�� � �!��b�m�L�#�&F�&F�G�G�G�� � �!��b�m�L�#�&F�&F�G�G�G�� � �!��b�n�S�#�&>�&>�?�?�?�� � �!��b�n�S�#�&>�&>�?�?�?�?�	@�	@r&c�^�|�dd��|�dd��dS)N�ab�abb)rr)rCs r$�test_non_numericzTestEqual.test_non_numericos4�����$��%�%�%����T�5�)�)�)�)�)r&c��|�tdd��tdd����|�tdtj��tdtj����|�tdtj��tdd����|�ttjd��tdtj����|�ttjtj��ttjd����dS�Nr+r,)r�complexr.rir)rrCs r$�test_complex_itemzTestEqual.test_complex_itemss������'�!�Q�-�-���A���7�7�7����'�!�R�V�,�,�g�a���.@�.@�A�A�A����W�Q���/�/���A���?�?�?����W�R�V�Q�/�/���B�F�1C�1C�D�D�D����W�R�V�R�V�4�4�g�b�f�a�6H�6H�I�I�I�I�Ir&c�Z�|�tjtj��dSr)r)r.�PZERO�NZEROrCs r$�test_negative_zerozTestEqual.test_negative_zerozs"�����R�X�r�x�0�0�0�0�0r&c�:�tjtdd��tdtj��g��}tjtdd��tdd��g��}|�||��|�||��dSr��r.r/r�rirr)ras   r$�test_complexzTestEqual.test_complex}s����H�g�a��m�m�W�Q���%7�%7�8�9�9���H�g�a��m�m�W�Q��]�]�3�4�4�����!�Q�������Q��"�"�"�"�"r&c���ddl}tj|�ddd��|�ddd��g��}|�||ddd���dS)Nri�r+r,���)�datetimer.r/r))r!rr"s   r$�test_objectzTestEqual.test_object�sp�������H�h�'�'��a��3�3��'�'��a��3�3�5�
6�
6�����Q��$�$�B�$��(�(�(�(�(r&N)
rErFrGrLr�r�r�r�r�r�r�r�rrHr&r$r�r�,s�������)�)�)�(�(�(�/�/�/�

�
�
�(@�@�@�>*�*�*�J�J�J�1�1�1�#�#�#�)�)�)�)�)r&r�c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�TestArrayAlmostEqualc��t|_dSr)rrrCs r$rLz!TestArrayAlmostEqual.setup_method�s��5����r&c������ddd���tt�fd�����dgdgd���tt�fd���dS)N���?�r��decimalc�4����ddd���S�Ng�?rrr	rrCs�r$�<lambda>z5TestArrayAlmostEqual.test_closeness.<locals>.<lambda>�s���$�"3�"3�C��a�"3�"H�"H�r&c�8����dgdgd���SrrrCs�r$r
z5TestArrayAlmostEqual.test_closeness.<locals>.<lambda>�s ���$�"3�"3�S�E�C�5�!�"3�"L�"L�r&�rr
r(rCs`r$�test_closenessz#TestArrayAlmostEqual.test_closeness�s����	
���(�C���3�3�3��n�H�H�H�H�	J�	J�	J�	
���8�*�s�e�Q��7�7�7��n�L�L�L�L�	N�	N�	N�	N�	Nr&c������tjdg���tjdg�������d�������d���tt���fd���dS)Ng��e��H�@g�w���H�@r5r	r6c�4������d���S)N�r	rras���r$r
z2TestArrayAlmostEqual.test_simple.<locals>.<lambda>�s����)�)�!�Q��)�:�:�r&�r.r/rr
r(ras`@@r$�test_simplez TestArrayAlmostEqual.test_simple�s�������H�i�[�!�!���H�i�[�!�!�����!�Q���*�*�*����!�Q���*�*�*��n�:�:�:�:�:�:�	<�	<�	<�	<�	<r&c�|�����tjtjg���tjdg���tjtjg���������tt���fd���tt���fd���tt���fd���dS)Nr+c�0��������Srr��anan�aoner!s���r$r
z/TestArrayAlmostEqual.test_nan.<locals>.<lambda>������)�)�$��5�5�r&c�0��������Srr��ainfrr!s���r$r
z/TestArrayAlmostEqual.test_nan.<locals>.<lambda>�rr&c�0��������Srrrs���r$r
z/TestArrayAlmostEqual.test_nan.<locals>.<lambda>�rr&�r.r/rirrr
r(�r!rrrs`@@@r$�test_nanzTestArrayAlmostEqual.test_nan�s��������x����!�!���x���}�}���x����!�!�����$��%�%�%��n�5�5�5�5�5�5�	7�	7�	7��n�5�5�5�5�5�5�	7�	7�	7��n�5�5�5�5�5�5�	7�	7�	7�	7�	7r&c�����tjddgddgg��������tj�d<t	t
���fd���tj�d<t	t
���fd���dS)Nr�r�rxry)rrc�0��������Srr�r"r#r!s���r$r
z/TestArrayAlmostEqual.test_inf.<locals>.<lambda>������)�)�!�Q�/�/�r&c�0��������Srrr%s���r$r
z/TestArrayAlmostEqual.test_inf.<locals>.<lambda>�r&r&)r.r/rRrr
r(r s`@@r$�test_infzTestArrayAlmostEqual.test_inf�s�������H�r�2�h��R��)�*�*��
�F�F�H�H���&��$���n�/�/�/�/�/�/�	1�	1�	1��6�'��$���n�/�/�/�/�/�/�	1�	1�	1�	1�	1r&c��tjddgddgg��}tj�ddgddggddgddgg��}|�||��|�||��|�||��tj�dd�	��}tjgd
���}|�||��|�||��tjj}tjgd
���}|�||��|�||��tj�gd
�gd��	��}tjgd���}|�||��|�||��tj�gd
�gd��	��}tjd��}|�||��|�||��dS)
Nr�r�rxryrFTg@r{rw)TTTr�)r.r/r}�masked_arrayrr~r%�maskedr s   r$�
test_subclassz"TestArrayAlmostEqual.test_subclass�s���H�r�2�h��R��)�*�*���E����R��2�r�(�3�!&����u�
�>�
@�
@�����!�Q�������!�Q�������!�Q����
�E���c���-�-���H�]�]�]�#�#������A��������A�����E�L���H�]�]�]�#�#������A��������A�����E���m�m�m�2D�2D�2D��E�E���H�\�\�\�"�"������A��������A�����E���m�m�m�2D�2D�2D��E�E���H�R�L�L������A��������A�����r&c��Gd�dtj��}tjddg���|��}|�||��dS)Nc�.��eZdZ�fd�Z�fd�Zd�Z�xZS)�GTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArrayc���t���|���tj��Sr��superr�r�r.r��r!r��	__class__s  �r$r�zNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__��)����w�w�~�~�e�,�,�1�1�"�*�=�=�=r&c���t���|���tj��Sr�r2�__lt__r�r.r�r3s  �r$r8zNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__�r5r&c��t�r��NotImplementedErrorr�s   r$r�zKTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.all����)�)r&�rErFrGr�r8r��
__classcell__�r4s@r$r�r/��`�������
>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
*�
*�
*�
*�
*�
*�
*r&r�r�r��r.r�r/r�r�r!r�r"s   r$�!test_subclass_that_cannot_be_boolz6TestArrayAlmostEqual.test_subclass_that_cannot_be_bool��m��
	*�	*�	*�	*�	*�b�j�	*�	*�	*�
�H�b�"�X���#�#�G�,�,�����!�Q�����r&N)
rErFrGrLrrr"r(r,rCrHr&r$rr�s�������6�6�6�N�N�N�"<�<�<�
7�
7�
7�1�1�1����4 � � � � r&rc�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�TestAlmostEqualc��t|_dSr)rrrCs r$rLzTestAlmostEqual.setup_method����/����r&c������ddd���tt�fd�����dgdgd���tt�fd���dS)Nrrrr	c�4����ddd���SrrrCs�r$r
z0TestAlmostEqual.test_closeness.<locals>.<lambda>�s���d�/�/��S�!�/�D�D�r&c�8����dgdgd���SrrrCs�r$r
z0TestAlmostEqual.test_closeness.<locals>.<lambda>s ���d�/�/����u�a�/�H�H�r&rrCs`r$rzTestAlmostEqual.test_closeness�s����	
���(�C���3�3�3��n�D�D�D�D�	F�	F�	F�	
���8�*�s�e�Q��7�7�7��n�H�H�H�H�	J�	J�	J�	J�	Jr&c������tjtj��tt�fd���tt�fd���tt�fd���dS)Nc�D����tjd��Sr�)rr.rirCs�r$r
z/TestAlmostEqual.test_nan_item.<locals>.<lambda>����d�/�/����:�:�r&c�X����tjtj��Sr)rr.rirrCs�r$r
z/TestAlmostEqual.test_nan_item.<locals>.<lambda>����d�/�/�����?�?�r&c�X����tjtj��Sr)rr.rrirCs�r$r
z/TestAlmostEqual.test_nan_item.<locals>.<lambda>
rPr&)rr.rir
r(rCs`r$�
test_nan_itemzTestAlmostEqual.test_nan_items�������"�&�"�&�)�)�)��n�:�:�:�:�	<�	<�	<��n�?�?�?�?�	A�	A�	A��n�?�?�?�?�	A�	A�	A�	A�	Ar&c�����tjtj����tjtj��tt�fd���tt�fd���dS)Nc�D����tjd��Sr��rr.rrCs�r$r
z/TestAlmostEqual.test_inf_item.<locals>.<lambda>rNr&c�Z����tjtj��SrrUrCs�r$r
z/TestAlmostEqual.test_inf_item.<locals>.<lambda>s���d�/�/������@�@�r&)rr.rr
r(rCs`r$�
test_inf_itemzTestAlmostEqual.test_inf_items�������"�&�"�&�)�)�)����2�6�'�B�F�7�+�+�+��n�:�:�:�:�	<�	<�	<��n�@�@�@�@�	B�	B�	B�	B�	Br&c�2�|�dd��dSr�)r)rCs r$�test_simple_itemz TestAlmostEqual.test_simple_items�����Q��"�"�"�"�"r&c�N�|�tdd��tdd����|�tdtj��tdtj����|�ttjtj��ttjtj����|�tdtj��tdd����|�ttjd��tdtj����|�ttjtj��ttjd����dSr�)rr�r.rirr)rCs r$r�z!TestAlmostEqual.test_complex_items�����'�!�Q�-�-���A���7�7�7����'�!�R�V�,�,�g�a���.@�.@�A�A�A����'�"�&�"�&�1�1�7�2�6�2�6�3J�3J�K�K�K����W�Q���/�/���A���?�?�?����W�R�V�Q�/�/���B�F�1C�1C�D�D�D����W�R�V�R�V�4�4�g�b�f�a�6H�6H�I�I�I�I�Ir&c���tjtdd��tdtj��g��}tjtdd��ttjd��g��}tjtdd��tdd��g��}|�||��|�||��|�||��dSr�r�)r!rb�zrcs    r$r�zTestAlmostEqual.test_complexs����H�g�a��m�m�W�Q���%7�%7�8�9�9���H�g�a��m�m�W�R�V�Q�%7�%7�8�9�9���H�g�a��m�m�W�Q��]�]�3�4�4�����!�Q�������Q��"�"�"����Q��"�"�"�"�"r&c���tjgd���}tjgd���}tjt��5}|�||d���ddd��n#1swxYwYt
|j���d��}t|dd��t|d	d
��t|dd��t|d
d��t|dd��tjt��5}|�||��ddd��n#1swxYwYt
|j���d��}t|dd��t|d	d
��t|dd��t|d
d��t|dd��tjtj
dg��}tjtj
dg��}tjt��5}|�||��ddd��n#1swxYwYt
|j���d��}t|dd��t|d	d��t|dd��t|d
d��t|dd��tjddg��}tjddg��}tjt��5}|�||��ddd��n#1swxYwYt
|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�
r5z!Mismatched elements: 3 / 3 (100%)r6zMax absolute difference: 1.e-05rz'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/rsr	r(r�str�value�splitrr�r!rbrc�exc_info�msgss     r$�test_error_messagez"TestAlmostEqual.test_error_message'sw��
�H�<�<�<�=�=���H�<�<�<�=�=���]�>�
*�
*�	0�h����a��B��/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0��8�>�"�"�(�(��.�.���T�!�W�A�B�B�B��T�!�W�?�@�@�@��T�!�W�G�H�H�H����G�F�	H�	H�	H�	���G�F�	H�	H�	H��]�>�
*�
*�	$�h����a��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��8�>�"�"�(�(��.�.���T�!�W�B�C�C�C��T�!�W�?�@�@�@��T�!�W�G�H�H�H��T�!�W�F�G�G�G��T�!�W�F�G�G�G�
�H�b�f�a�[�!�!���H�b�f�a�[�!�!��
�]�>�
*�
*�	$�h����a��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��8�>�"�"�(�(��.�.���T�!�W�@�A�A�A��T�!�W�;�<�<�<��T�!�W�;�<�<�<��T�!�W�5�6�6�6��T�!�W�5�6�6�6�
�H�a��V�����H�a��V����
�]�>�
*�
*�	$�h����a��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��8�>�"�"�(�(��.�.���T�!�W�A�B�B�B��T�!�W�:�;�;�;��T�!�W�<�=�=�=�=�=sH�A+�+A/�2A/�$E�E�E�I#�#I'�*I'�M+�+M/�2M/c��d}tjd��}tjt��5}|�||��ddd��n#1swxYwYt
|j���d��}t|dd��t|dd��t|d	d
��d}tjd��}tjt��5}|�||��ddd��n#1swxYwYt
|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_r5z#Mismatched elements: 20 / 20 (100%)r6rbrrc�Max relative difference: 0.5)
r.�onesrsr	r(rrdrerfrrgs     r$�test_error_message_2z$TestAlmostEqual.test_error_message_2]s���
���G�B�K�K��
�]�>�
*�
*�	$�h����a��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��8�>�"�"�(�(��.�.���T�!�W�C�D�D�D��T�!�W�;�<�<�<��T�!�W�;�<�<�<�
���G�B�K�K��
�]�>�
*�
*�	$�h����a��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��8�>�"�"�(�(��.�.���T�!�W�C�D�D�D��T�!�W�;�<�<�<��T�!�W�<�=�=�=�=�=s#�A�A�A�6D�D� Dc��Gd�dtj��}tjddg���|��}|�||��dS)Nc�.��eZdZ�fd�Z�fd�Zd�Z�xZS)�BTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArrayc���t���|���tj��Srr1r3s  �r$r�zITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__wr5r&c���t���|���tj��Srr7r3s  �r$r8zITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__zr5r&c��t�rr:r�s   r$r�zFTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.all}r<r&r=r?s@r$r�rrvr@r&r�r�r�rArBs   r$rCz1TestAlmostEqual.test_subclass_that_cannot_be_boolqrDr&N)
rErFrGrLrrRrWrYr�r�rjrorCrHr&r$rFrF�s�������0�0�0�J�J�J�"A�A�A�B�B�B�#�#�#�J�J�J�#�#�#�4>�4>�4>�l>�>�>�( � � � � r&rFc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TestApproxEqualc��t|_dSr)rrrCs r$rLzTestApproxEqual.setup_method�rHr&c������tjd���tjd�������d�������d���tt���fd���dS)N�{�G�H�@�R���H�@r��significantr`c�4������d���S�Nrar|rras���r$r
z7TestApproxEqual.test_simple_0d_arrays.<locals>.<lambda>�����d�/�/��1�!�/�D�D�r&rras`@@r$�test_simple_0d_arraysz%TestApproxEqual.test_simple_0d_arrays�s�������H�W�����H�W�������!�Q�A��.�.�.����!�Q�A��.�.�.��n�D�D�D�D�D�D�	F�	F�	F�	F�	Fr&c������d�d�����d�������d�������d���tt���fd���dS)Nrzr{r6r|rr`c�4������d���Srrras���r$r
z3TestApproxEqual.test_simple_items.<locals>.<lambda>�r�r&rras`@@r$�test_simple_itemsz!TestApproxEqual.test_simple_items�s�������������!�Q�A��.�.�.����!�Q�A��.�.�.����!�Q�A��.�.�.��n�D�D�D�D�D�D�	F�	F�	F�	F�	Fr&c�v�����tjtj���tjd���tjtj���������tt���fd���tt���fd���tt���fd���dS)Nr+c�0��������Srrrs���r$r
z0TestApproxEqual.test_nan_array.<locals>.<lambda>�����d�.?�.?��d�.K�.K�r&c�0��������Srrrs���r$r
z0TestApproxEqual.test_nan_array.<locals>.<lambda>�r�r&c�0��������Srrrs���r$r
z0TestApproxEqual.test_nan_array.<locals>.<lambda>�r�r&r r!s`@@@r$rkzTestApproxEqual.test_nan_array���������x�������x��{�{���x���������$��%�%�%��n�&K�&K�&K�&K�&K�&K�L�L�L��n�&K�&K�&K�&K�&K�&K�L�L�L��n�&K�&K�&K�&K�&K�&K�L�L�L�L�Lr&c�v�����tjtj���tjd���tjtj���������tt���fd���tt���fd���tt���fd���dS)Nr+c�0��������Srrrs���r$r
z0TestApproxEqual.test_nan_items.<locals>.<lambda>�r�r&c�0��������Srrrs���r$r
z0TestApproxEqual.test_nan_items.<locals>.<lambda>�r�r&c�0��������Srrrs���r$r
z0TestApproxEqual.test_nan_items.<locals>.<lambda>�r�r&r r!s`@@@r$r�zTestApproxEqual.test_nan_items�r�r&N)rErFrGrLr�r�rkr�rHr&r$rwrw�sm������0�0�0�F�F�F�F�F�F�M�M�M�M�M�M�M�Mr&rwc�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestArrayAssertLessc��t|_dSr)rrrCs r$rLz TestArrayAssertLess.setup_method�s��-����r&c�X����tjddg���tjddg���������tt���fd���tjddg���tt���fd���tt���fd���dS)	N皙�����?皙����@�333333�?�ffffff@c�0��������Srrras���r$r
z8TestArrayAssertLess.test_simple_arrays.<locals>.<lambda>�����d�.?�.?��1�.E�.E�r&r�c�0��������Srrras���r$r
z8TestArrayAssertLess.test_simple_arrays.<locals>.<lambda>�r�r&c�0��������Srrras���r$r
z8TestArrayAssertLess.test_simple_arrays.<locals>.<lambda>�r�r&rras`@@r$�test_simple_arraysz&TestArrayAssertLess.test_simple_arrays�s�������H�c�3�Z� � ���H�c�3�Z� � �����!�Q�����n�&E�&E�&E�&E�&E�&E�F�F�F��H�c�3�Z� � ���n�&E�&E�&E�&E�&E�&E�F�F�F��n�&E�&E�&E�&E�&E�&E�F�F�F�F�Fr&c�p����tjddgddgg���tjddgddgg���������tt���fd	���tjd
dgddgg���tt���fd���tt���fd���dS)
Nr�r��ffffff
@g������@r�r�g333333@g@c�0��������Srrras���r$r
z0TestArrayAssertLess.test_rank2.<locals>.<lambda>�r�r&r�c�0��������Srrras���r$r
z0TestArrayAssertLess.test_rank2.<locals>.<lambda>�r�r&c�0��������Srrras���r$r
z0TestArrayAssertLess.test_rank2.<locals>.<lambda>�r�r&rras`@@r$�
test_rank2zTestArrayAssertLess.test_rank2�s�������H�s�C�j�3��*�-�.�.���H�s�C�j�3��*�-�.�.�����!�Q�����n�&E�&E�&E�&E�&E�&E�F�F�F��H�s�C�j�3��*�-�.�.���n�&E�&E�&E�&E�&E�&E�F�F�F��n�&E�&E�&E�&E�&E�&E�F�F�F�F�Fr&c�8����tjd����tjd���dz�������tt���fd���d�d<tt���fd���tt���fd���dS)	N)r,r,r,)�shaper+c�0��������Srrras���r$r
z0TestArrayAssertLess.test_rank3.<locals>.<lambda>�r�r&r)rrrc�0��������Srrras���r$r
z0TestArrayAssertLess.test_rank3.<locals>.<lambda>�r�r&c�0��������Srrras���r$r
z0TestArrayAssertLess.test_rank3.<locals>.<lambda>�r�r&)r.rnrr
r(ras`@@r$�
test_rank3zTestArrayAssertLess.test_rank3�s�������G�)�$�$�$���G�)�$�$�$�Q�&�����!�Q�����n�&E�&E�&E�&E�&E�&E�F�F�F���'�
��n�&E�&E�&E�&E�&E�&E�F�F�F��n�&E�&E�&E�&E�&E�&E�F�F�F�F�Fr&c�`����d�d�������tt���fd���tjddg���������tt���fd���tjddg���tt���fd���dS)Nr�r�c�0��������Srrras���r$r
z7TestArrayAssertLess.test_simple_items.<locals>.<lambda>�r�r&r�c�0��������Srrras���r$r
z7TestArrayAssertLess.test_simple_items.<locals>.<lambda>�r�r&r�c�0��������Srrras���r$r
z7TestArrayAssertLess.test_simple_items.<locals>.<lambda>�r�r&)rr
r(r.r/ras`@@r$r�z%TestArrayAssertLess.test_simple_items�s�������������!�Q�����n�&E�&E�&E�&E�&E�&E�F�F�F��H�c�3�Z� � �����!�Q�����n�&E�&E�&E�&E�&E�&E�F�F�F��H�c�3�Z� � ���n�&E�&E�&E�&E�&E�&E�F�F�F�F�Fr&c������tjtj���tjd���tjtj���������tt���fd���tt���fd���tt���fd���tt���fd���dS)Nr+c�0��������Srrrs���r$r
z9TestArrayAssertLess.test_nan_noncompare.<locals>.<lambda>�r�r&c�0��������Srrrs���r$r
z9TestArrayAssertLess.test_nan_noncompare.<locals>.<lambda>�r�r&c�0��������Srrrs���r$r
z9TestArrayAssertLess.test_nan_noncompare.<locals>.<lambda>�r�r&c�0��������Srrrs���r$r
z9TestArrayAssertLess.test_nan_noncompare.<locals>.<lambda>�r�r&r r!s`@@@r$�test_nan_noncomparez'TestArrayAssertLess.test_nan_noncompare�s��������x�������x��{�{���x���������$��%�%�%��n�&K�&K�&K�&K�&K�&K�L�L�L��n�&K�&K�&K�&K�&K�&K�L�L�L��n�&K�&K�&K�&K�&K�&K�L�L�L��n�&K�&K�&K�&K�&K�&K�L�L�L�L�Lr&c�*�����tjgd����tjtj���tt���fd���tt���fd���tjddtjg���tt���fd���tt���fd���tjdd	tjg���������tt���fd
���dS)N)r�r�r�c�0��������Srr�rr!rbs���r$r
z?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>�����d�.?�.?��4�.H�.H�r&c�0��������Srrr�s���r$r
z?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>�����d�.?�.?��a�.H�.H�r&r�r�c�0��������Srrr�s���r$r
z?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>�r�r&c�0��������Srrr�s���r$r
z?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>�r�r&r�r�c�0��������Srrras���r$r
z?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>r�r&)r.r/rir
r(r)r!rrbrcs`@@@r$�test_nan_noncompare_arrayz-TestArrayAssertLess.test_nan_noncompare_array�s�������H�_�_�_�%�%���x�������n�&H�&H�&H�&H�&H�&H�I�I�I��n�&H�&H�&H�&H�&H�&H�I�I�I��H�c�3���'�(�(���n�&H�&H�&H�&H�&H�&H�I�I�I��n�&H�&H�&H�&H�&H�&H�I�I�I��H�c�3���'�(�(�����!�Q�����n�&E�&E�&E�&E�&E�&E�F�F�F�F�Fr&c�����tjd���tjtj���������������������t	t
���fd���t	t
���fd���t	t
��fd���t	t
��fd���t	t
��fd���dS)Nr+c�0��������Srr�rrr!s���r$r
z6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>
r�r&c�2��������Srrr�s���r$r
z6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>����d�.?�.?��t�e�.L�.L�r&c�0��������Srr�rr!s��r$r
z6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>r�r&c�2��������Srrr�s��r$r
z6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>
r�r&c�4��������Srrr�s��r$r
z6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>s���d�.?�.?����u�.M�.M�r&)r.r/rrr
r()r!rrs`@@r$�test_inf_comparez$TestArrayAssertLess.test_inf_compares������x��{�{���x���������$��%�%�%����4�%��&�&�&����4�%��&�&�&��n�&K�&K�&K�&K�&K�&K�L�L�L��n�&L�&L�&L�&L�&L�&L�M�M�M��n�&K�&K�&K�&K�&K�L�L�L��n�&L�&L�&L�&L�&L�M�M�M��n�&M�&M�&M�&M�&M�N�N�N�N�Nr&c�����tjddtjg���tjtj���tt���fd���tt���fd���tt���fd���tt���fd���tt���fd���������dS)Nr�r�c�0��������Srr�rr!rbs���r$r
z<TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>r�r&c�0��������Srrr�s���r$r
z<TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>r�r&c�2��������Srrr�s���r$r
z<TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>s���d�.?�.?��D�5�.I�.I�r&c�4��������Srrr�s���r$r
z<TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>s���d�.?�.?���T�E�.J�.J�r&c�4��������Srrr�s���r$r
z<TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>s���d�.?�.?����r�.J�.J�r&)r.r/rr
r(r)r!rrbs`@@r$�test_inf_compare_arrayz*TestArrayAssertLess.test_inf_compare_arrays�������H�c�3���'�(�(���x�������n�&H�&H�&H�&H�&H�&H�I�I�I��n�&H�&H�&H�&H�&H�&H�I�I�I��n�&I�&I�&I�&I�&I�&I�J�J�J��n�&J�&J�&J�&J�&J�&J�K�K�K��n�&J�&J�&J�&J�&J�&J�K�K�K����4�%��#�#�#�#�#r&N)rErFrGrLr�r�r�r�r�r�r�r�rHr&r$r�r��s�������.�.�.�
G�
G�
G�
G�
G�
G�
G�
G�
G�G�G�G� M�M�M�G�G�G�"O�O�O�	$�	$�	$�	$�	$r&r�z$The raises decorator depends on Noser�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�
TestRaisesc�:�Gd�dt��}||_dS)Nc��eZdZdS)�,TestRaises.setup_method.<locals>.MyExceptionN�rErFrGrHr&r$�MyExceptionr� s�������Dr&r�)�	Exception�e)r!r�s  r$rLzTestRaises.setup_methods9��	�	�	�	�	�)�	�	�	�����r&c��|�rrH)r!r�s  r$�raises_exceptionzTestRaises.raises_exception%s���r&c��dSrrHrCs r$�does_not_raise_exceptionz#TestRaises.does_not_raise_exception(s���r&c�f�t|j��|j��|j��dSr)r	r�r�rCs r$�test_correct_catchzTestRaises.test_correct_catch+s/��-���t�v���t�,�-�-�d�f�5�5�5�5�5r&c��	t|j��|j��t��t	d���#t$rYdSwxYw)Nzshould have caught RuntimeError)r	r�r��RuntimeErrorr(rCs r$�test_wrong_exceptionzTestRaises.test_wrong_exception.sb��	D�1�N�F�4�6�N�N�4�0�1�1�,�?�?�?�!�!B�C�C�C���	�	�	��F�F�	���s�0A�
A�Ac��	t|j��|j����td���#t$rYdSwxYw)Nz$should have raised an AssertionError)r	r�r�r(rCs r$�test_catch_no_raisezTestRaises.test_catch_no_raise6s`��	I�9�N�F�4�6�N�N�4�8�9�9�;�;�;�!�!G�H�H�H���	�	�	��F�F�	���s�*;�
A	�A	N)	rErFrGrLr�r�r�r�r�rHr&r$r�r�sv������������
�
�
�6�6�6�D�D�D�I�I�I�I�Ir&r�c� �eZdZd�Zd�Zd�ZdS)�	TestWarnsc�T�d�}tjdjdd�}tt	t
|��d��tjdj}t
tt|��ttd�d��d��t||d��dS)Nc�.�tjd��dS)N�yor5��warnings�warnrHr&r$�fzTestWarns.test_warn.<locals>.fBs���M�$�����1r&r�r5c��|SrrH)rbs r$r
z%TestWarns.test_warn.<locals>.<lambda>Ks��!�r&r+�.assert_warns does not preserver warnings state)	�sys�modules�filtersrr�UserWarningr
r(r)r!r��before_filters�
after_filterss    r$�	test_warnzTestWarns.test_warnAs���	�	�	���Z�0�8����;���\�+�q�1�1�1�5�5�5���J�/�7�
��n�&8�!�<�<�<��'���Q�7�7��;�;�;�	�^�]�E�	G�	G�	G�	G�	Gr&c�D�tjdjdd�}tt��5tjd��ddd��n#1swxYwYtjdj}d�}tt|��t||d��dS)Nr�r�c�|�t��5tjd��ddd��dS#1swxYwYdS�Nr�)rr�r�rHr&r$�no_warningsz3TestWarns.test_context_manager.<locals>.no_warningsXs���#�%�%�
$�
$��
�d�#�#�#�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$����
$�
$�
$�
$�
$�
$s�1�5�5r�)
r�r�r�rr�r�r�r
r(r)r!r�r�r�s    r$�test_context_managerzTestWarns.test_context_managerQs�����Z�0�8����;��
�+�
&�
&�	 �	 ��M�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ���J�/�7�
�	$�	$�	$�	�n�k�2�2�2��^�]�E�	G�	G�	G�	G�	Gs�A�A�Ac��d�}d}tj��5tjdt��	t	t
|��d}n#t$rYnwxYwddd��n#1swxYwY|rt
d���dS)Nc�:�tjdt��dSr�)r�r��DeprecationWarningrHr&r$r�z,TestWarns.test_warn_wrong_warning.<locals>.fas���M�$� 2�3�3�3�3�3r&F�errorTz#wrong warning caught by assert_warn)r��catch_warnings�simplefilterr�rr�r()r!r��faileds   r$�test_warn_wrong_warningz!TestWarns.test_warn_wrong_warning`s���	4�	4�	4���
�
$�
&�
&�	�	��!�'�+=�>�>�>�
��[�!�,�,�,�����%�
�
�
���
����
	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��	H� �!F�G�G�G�	H�	Hs4�A)�A
�A)�
A�A)�A�A)�)A-�0A-N)rErFrGr�r�rrHr&r$r�r�?sL������G�G�G� 
G�
G�
G�H�H�H�H�Hr&r�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestAssertAllclosec���d}d}t||d���ttt||��tj||||g��}tj||||g��}t||d���ttt||��|dz|d<t||��ttt||d���tdd	d
���tttd	dd
���dS)Ng����MbP?g��&�.>r+��atolg�1��?r)�rtolr`r`g�?)r
r
r(r.r/)r!rbrcr"r#s     r$rzTestAssertAllclose.test_simplets���������1�1�%�%�%�%��n�o�q�!�<�<�<��H�a��A�q�\�"�"���H�a��A�q�\�"�"����1�1�%�%�%�%��n�o�q�!�<�<�<��X���"����1�����n�o�q�!�$�G�G�G�G���2�C�(�(�(�(��n�o�r�1�3�G�G�G�G�G�Gr&c��tjtjtj��jgtj���}t||��dS)Nr<)r.r/�iinfo�int_�minr
r?s  r$�test_min_intzTestAssertAllclose.test_min_int�s@���H�b�h�r�w�'�'�+�,�B�G�<�<�<����1�����r&c�*�tjgd���}tjgd���}tjt��5}t||��ddd��n#1swxYwYt
|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/rsr	r(r
rdrer�r!r"r#rh�msgs     r$�test_report_fail_percentagez.TestAssertAllclose.test_report_fail_percentage�s����H�\�\�\�"�"���H�\�\�\�"�"��
�]�>�
*�
*�	"�h��A�q�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��(�.�!�!���/�25�6�	7�	7�	7�	7�	7��A#�#A'�*A'c��tjtjg��}tjtjg��}t||d���dS)NT��	equal_nan)r.r/rir
r s   r$�test_equal_nanz!TestAssertAllclose.test_equal_nan�sC���H�b�f�X�����H�b�f�X������1��-�-�-�-�-�-r&c��tjtjg��}tjtjg��}ttt
||d���dS)NFr)r.r/rir
r(r
r s   r$�test_not_equal_nanz%TestAssertAllclose.test_not_equal_nan�sG���H�b�f�X�����H�b�f�X�����n�o�q�!�u�M�M�M�M�M�Mr&c��tjtjg��}tjtjg��}t||��t	||��t||��t
||��dSr)r.r/rirrrr
r s   r$�test_equal_nan_defaultz)TestAssertAllclose.test_equal_nan_default�sp��
�H�b�f�X�����H�b�f�X�����1�a� � � �!�!�Q�'�'�'��!�Q������1�����r&c�*�tjddg��}tjddg��}tjt��5}t||��ddd��n#1swxYwYt
|j��}td|v��dS)Nrr+r,rmr
rs     r$�test_report_max_relative_errorz1TestAssertAllclose.test_report_max_relative_error�s����H�a��V�����H�a��V����
�]�>�
*�
*�	"�h��A�q�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��(�.�!�!���.�#�5�6�6�6�6�6rc�X�tjgd�gd���}t||��dS)N)r+r,r5r�zm8[ns]r<)r.r/r
r?s  r$�test_timedeltaz!TestAssertAllclose.test_timedelta�s6���H�&�&�&�'�x�8�8�8����1�����r&c�f�tjgd�d���}tjgd�d���}tjt��5}t||d���ddd��n#1swxYwYt
|j���d��}t|d	d
��dS)zYCheck the the message is formatted correctly when overflow can occur
           (gh21768))rr+��uint8r<)r6r6r6r5rNr_r6zMax absolute difference: 4)
r.�asarrayrsr	r(r
rdrerfrrgs     r$�test_error_message_unsignedz.TestAssertAllclose.test_error_message_unsigned�s���
�J�y�y�y��0�0�0���J�y�y�y��0�0�0��
�]�>�
*�
*�	*�h��A�q�q�)�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*��8�>�"�"�(�(��.�.���T�!�W�:�;�;�;�;�;s�
A)�)A-�0A-N)rErFrGrrrrrrrrr"rHr&r$rrrs�������H�H�H�(���
	7�	7�	7�.�.�.�N�N�N�
	�	�	�7�7�7����
<�<�<�<�<r&rc�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�TestArrayAlmostEqualNulpc�v�d}tjdddtj���}d|z}tj||f}tj|j��j}|||z|zdzz}t|||��tj|j��j}|||z|zdzz
}t|||��dS�Nr���rl�2r<r`r��	r.�linspace�float64�r_�finfor=�epsr�epsneg�r!�nulprbr.rcr/s      r$�test_float64_passz*TestArrayAlmostEqualNulp.test_float64_pass�s������K��R��2�:�6�6�6����E���E�1�"�a�%�L���h�q�w���#��
��#��d�
�2�
���&�q�!�T�2�2�2���!�'�"�"�)��
��&���
�b� � ��&�q�!�T�2�2�2�2�2r&c��d}tjdddtj���}d|z}tj||f}tj|j��j}|||z|zdzz}ttt|||��tj|j��j
}|||z|zdzz
}ttt|||��dSr&�r.r*r+r,r-r=r.r
r(rr/r0s      r$�test_float64_failz*TestArrayAlmostEqualNulp.test_float64_fail��������K��R��2�:�6�6�6����E���E�1�"�a�%�L���h�q�w���#��
��#��d�
�2�
����n�&D���D�	"�	"�	"���!�'�"�"�)��
��&���
�b� � ���n�&D���D�	"�	"�	"�	"�	"r&c�d�tjd��}tjtjtj����tj��}||z}|�tj��}|�tj��}t
||d��dS)Nl��r<r)r.�uint64r/rir+r�r)r!�offset�nan1_i64�nan2_i64�nan1_f64�nan2_f64s      r$�test_float64_ignore_nanz0TestArrayAlmostEqualNulp.test_float64_ignore_nan�s�����:�&�&���8�B�F�"�*�5�5�5�:�:�2�9�E�E���f�$���=�=���,�,���=�=���,�,���X�x��3�3�3�3�3r&c�v�d}tjdddtj���}d|z}tj||f}tj|j��j}|||z|zdzz}t|||��tj|j��j}|||z|zdzz
}t|||��dSr&�	r.r*r�r,r-r=r.rr/r0s      r$�test_float32_passz*TestArrayAlmostEqualNulp.test_float32_pass�s������K��R��2�:�6�6�6����E���E�1�"�a�%�L���h�q�w���#��
��#��d�
�2�
���&�q�!�T�2�2�2���!�'�"�"�)��
��&���
�b� � ��&�q�!�T�2�2�2�2�2r&c��d}tjdddtj���}d|z}tj||f}tj|j��j}|||z|zdzz}ttt|||��tj|j��j
}|||z|zdzz
}ttt|||��dSr&�r.r*r�r,r-r=r.r
r(rr/r0s      r$�test_float32_failz*TestArrayAlmostEqualNulp.test_float32_failr6r&c�d�tjd��}tjtjtj����tj��}||z}|�tj��}|�tj��}t
||d��dS)Ni��r<r)r.�uint32r/rir�r�r)r!r9�nan1_i32�nan2_i32�nan1_f32�nan2_f32s      r$�test_float32_ignore_nanz0TestArrayAlmostEqualNulp.test_float32_ignore_nans�����6�"�"���8�B�F�"�*�5�5�5�:�:�2�9�E�E���f�$���=�=���,�,���=�=���,�,���X�x��3�3�3�3�3r&c�v�d}tjdddtj���}d|z}tj||f}tj|j��j}|||z|zdzz}t|||��tj|j��j}|||z|zdzz
}t|||��dS�Nr���r6r`r<r�)	r.r*�float16r,r-r=r.rr/r0s      r$�test_float16_passz*TestArrayAlmostEqualNulp.test_float16_pass#s������K��A�r���4�4�4����E���E�1�"�a�%�L���h�q�w���#��
��#��d�
�2�
���&�q�!�T�2�2�2���!�'�"�"�)��
��&���
�b� � ��&�q�!�T�2�2�2�2�2r&c��d}tjdddtj���}d|z}tj||f}tj|j��j}|||z|zdzz}ttt|||��tj|j��j
}|||z|zdzz
}ttt|||��dSrM)r.r*rOr,r-r=r.r
r(rr/r0s      r$�test_float16_failz*TestArrayAlmostEqualNulp.test_float16_fail1s������K��A�r���4�4�4����E���E�1�"�a�%�L���h�q�w���#��
��#��d�
�2�
����n�&D���D�	"�	"�	"���!�'�"�"�)��
��&���
�b� � ���n�&D���D�	"�	"�	"�	"�	"r&c�d�tjd��}tjtjtj����tj��}||z}|�tj��}|�tj��}t
||d��dS)N�r<r)r.�uint16r/rirOr�r)r!r9�nan1_i16�nan2_i16�nan1_f16�nan2_f16s      r$�test_float16_ignore_nanz0TestArrayAlmostEqualNulp.test_float16_ignore_nanAs�����4�����8�B�F�"�*�5�5�5�:�:�2�9�E�E���f�$���=�=���,�,���=�=���,�,���X�x��3�3�3�3�3r&c��d}tjdddtj���}d|z}tj||f}||dzz}tj|j��j}|||z|zdzz}t|||dzz|��t|||dzz|��|||z|zd	zz}t|||dzz|��tj|j��j}|||z|zdzz
}t|||dzz|��t|||dzz|��|||z|zd	zz
}t|||dzz|��dS�
Nrr'rlr(r<r`��?r�ryr)�r!r1rb�xir.rcr/s       r$�test_complex128_passz-TestArrayAlmostEqualNulp.test_complex128_passLsn�����K��R��2�:�6�6�6����E���E�1�"�a�%�L��
��2��X���h�q�w���#��
��#��d�
�2�
���&�r�1�q��t�8�T�:�:�:�&�r�1�q��t�8�T�:�:�:�
��#��d�
�2�
���&�r�1�q��t�8�T�:�:�:���!�'�"�"�)��
��&���
�b� � ��&�r�1�q��t�8�T�:�:�:�&�r�1�q��t�8�T�:�:�:�
��&���
�b� � ��&�r�1�q��t�8�T�:�:�:�:�:r&c��d}tjdddtj���}d|z}tj||f}||dzz}tj|j��j}|||z|zdzz}ttt|||dzz|��ttt|||dzz|��|||z|zz}ttt|||dzz|��tj|j��j
}|||z|zdzz
}ttt|||dzz|��ttt|||dzz|��|||z|zz
}ttt|||dzz|��dS�	Nrr'rlr(r<r`r]r�r4r^s       r$�test_complex128_failz-TestArrayAlmostEqualNulp.test_complex128_failcs������K��R��2�:�6�6�6����E���E�1�"�a�%�L��
��2��X���h�q�w���#��
��#��d�
�2�
����n�&D��!�a��d�(�D�	*�	*�	*��n�&D��!�a��d�(�D�	*�	*�	*�
��#��d�
�N���n�&D��!�a��d�(�D�	*�	*�	*���!�'�"�"�)��
��&���
�b� � ���n�&D��!�a��d�(�D�	*�	*�	*��n�&D��!�a��d�(�D�	*�	*�	*�
��&���
����n�&D��!�a��d�(�D�	*�	*�	*�	*�	*r&c��d}tjdddtj���}d|z}tj||f}||dzz}tj|j��j}|||z|zdzz}t|||dzz|��t|||dzz|��|||z|zd	zz}t|||dzz|��tj|j��j}|||z|zdzz
}t|||dzz|��t|||dzz|��|||z|zd	zz
}t|||dzz|��dSr\r@r^s       r$�test_complex64_passz,TestArrayAlmostEqualNulp.test_complex64_pass�sl�����K��R��2�:�6�6�6����E���E�1�"�a�%�L��
��2��X���h�q�w���#��
��#��d�
�2�
���&�r�1�q��t�8�T�:�:�:�&�r�1�q��t�8�T�:�:�:�
��#��d�
�2�
���&�r�1�q��t�8�T�:�:�:���!�'�"�"�)��
��&���
�b� � ��&�r�1�q��t�8�T�:�:�:�&�r�1�q��t�8�T�:�:�:�
��&���
�b� � ��&�r�1�q��t�8�T�:�:�:�:�:r&c��d}tjdddtj���}d|z}tj||f}||dzz}tj|j��j}|||z|zdzz}ttt|||dzz|��ttt|||dzz|��|||z|zz}ttt|||dzz|��tj|j��j
}|||z|zdzz
}ttt|||dzz|��ttt|||dzz|��|||z|zz
}ttt|||dzz|��dSrbrCr^s       r$�test_complex64_failz,TestArrayAlmostEqualNulp.test_complex64_fail�s������K��R��2�:�6�6�6����E���E�1�"�a�%�L��
��2��X���h�q�w���#��
��#��d�
�2�
����n�&D��!�a��d�(�D�	*�	*�	*��n�&D��!�a��d�(�D�	*�	*�	*�
��#��d�
�N���n�&D��!�a��d�(�D�	*�	*�	*���!�'�"�"�)��
��&���
�b� � ���n�&D��!�a��d�(�D�	*�	*�	*��n�&D��!�a��d�(�D�	*�	*�	*�
��&���
����n�&D��!�a��d�(�D�	*�	*�	*�	*�	*r&N)rErFrGr2r5r>rArDrKrPrRrZr`rcrergrHr&r$r$r$�s�������3�3�3�$"�"�"� 	4�	4�	4�3�3�3�"�"�"� 	4�	4�	4�3�3�3�"�"�"� 	4�	4�	4�;�;�;�.*�*�*�:;�;�;�**�*�*�*�*r&r$c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TestULPc�h�tj�d��}t||d���dS)Nr`r��maxulp)r.�random�randnr)r!rbs  r$�
test_equalzTestULP.test_equal�s0���I�O�O�B�����Q��!�,�,�,�,�,�,r&c�\�tjd���tj��}|dtj�d���tj��zz
}tjtj��j}t|||zd���dS)Nr`�{�G�z�?rlrk)	r.rn�astyper�rmrnr-r.r�r!rbr.s   r$�test_singlezTestULP.test_single�s���G�B�K�K���r�z�*�*��	�T�B�I�O�O�B�'�'�.�.�r�z�:�:�
:�:���h�r�z�"�"�&���Q��#��b�1�1�1�1�1�1r&c�\�tjd���tj��}|dtj�d���tj��zz
}tjtj��j}t|||zd���dS)Nr`rq��rk)	r.rnrrr+rmrnr-r.rrss   r$�test_doublezTestULP.test_double�s���G�B�K�K���r�z�*�*��	�T�B�I�O�O�B�'�'�.�.�r�z�:�:�
:�:���h�r�z�"�"�&���Q��#��c�2�2�2�2�2�2r&c��tjtjfD]r}tjtjg���|��}tjtj|��jg��}t||d����sdS)Nrvrk)	r.r�r+r/rrrr-�maxr)r!�dtr�bigs    r$r(zTestULP.test_inf�sz���:�r�z�*�	7�	7�B��(�B�F�8�$�$�+�+�B�/�/�C��(�B�H�R�L�L�,�-�.�.�C� ��c�#�6�6�6�6�6�	7�	7r&c���������tjtjfD�]�}|tjkrd�nd�tjtjg���|���tjtjg���|���tjtj|��jg���tjtj|��j	g���tjtj
g���|���tjtjg���|���tt���fd���tt���fd���tt���fd���tt���fd���tt���fd������dS)Ng��.Ag��mBc�(��t������S�Nrk�r)rrlris���r$r
z"TestULP.test_nan.<locals>.<lambda>�����"6�s�C�!'�#)�#)�#)�r&c�(��t������Sr~r)r{rlris���r$r
z"TestULP.test_nan.<locals>.<lambda>�r�r&c�(��t������Sr~r)rlri�tinys���r$r
z"TestULP.test_nan.<locals>.<lambda>�����"6�s�D�!'�#)�#)�#)�r&c�(��t������Sr~r)rlri�zeros���r$r
z"TestULP.test_nan.<locals>.<lambda>�r�r&c�(��t������Sr~r)rlri�nzeros���r$r
z"TestULP.test_nan.<locals>.<lambda>�s���"6�s�E�!'�#)�#)�#)�r&)r.r�r+r/rrrrir-ryr�r�r�r
r()	r!rzr{rrlrir�r�r�s	  @@@@@@@r$r"zTestULP.test_nan�s	����������:�r�z�*�	*�	*�B��R�Z���������(�B�F�8�$�$�+�+�B�/�/�C��(�B�F�8�$�$�+�+�B�/�/�C��(�B�H�R�L�L�,�-�.�.�C��8�R�X�b�\�\�.�/�0�0�D��8�R�X�J�'�'�.�.�r�2�2�D��H�b�h�Z�(�(�/�/��3�3�E��.�)�)�)�)�)�)�
*�
*�
*�
�.�)�)�)�)�)�)�
*�
*�
*�
�.�)�)�)�)�)�)�
*�
*�
*�
�.�)�)�)�)�)�)�
*�
*�
*�
�.�)�)�)�)�)�)�
*�
*�
*�
*�/	*�	*r&N)rErFrGrortrwr(r"rHr&r$riri�s_������-�-�-�2�2�2�3�3�3�7�7�7�*�*�*�*�*r&ric��eZdZd�Zd�ZdS)�TestStringEqualc�<�tdd��tdd��tjt��5}tdd��ddd��n#1swxYwYt	|j��}t
|d��ttd���dS)N�hellozhello
multilinezfoo
barz	hello
barz%Differences in strings:
- foo
+ helloc�"�tdd��S)NrVr��rrHr&r$r
z-TestStringEqual.test_simple.<locals>.<lambda>�s��1�%��A�A�r&)rrsr	r(rdrerr
)r!rhrs   r$rzTestStringEqual.test_simple�s����G�W�-�-�-��.�0B�C�C�C�
�]�>�
*�
*�	:�h��
�L�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:��(�.�!�!���S�C�D�D�D��n�A�A�	C�	C�	C�	C�	Cs�A�A�Ac�R�tdd��ttd���dS)Nza+*bc�"�tdd��S)N�aaaza+br�rHr&r$r
z,TestStringEqual.test_regex.<locals>.<lambda>�s��1�%��?�?�r&)rr
r(rCs r$�
test_regexzTestStringEqual.test_regex�s;���F�F�+�+�+��n�?�?�	A�	A�	A�	A�	Ar&N)rErFrGrr�rHr&r$r�r��s:������
C�
C�
C�A�A�A�A�Ar&r�c��	|j}n#t$ri}YnwxYwt|��}d|vr|dz}t||��dS)N�versionr+)�__warningregistry__�AttributeError�lenr)�mod�n_in_context�	mod_warns�	num_warnss    r$�assert_warn_len_equalr��sp��
��+�	�	�������	�	�	������I���I��I���	�Q��	���L�)�)�)�)�)s�
��c��Gd�d��}|��}t|d���Gd�d��}|��}t|d���dS)Nc��eZdZdS)�/test_warn_len_equal_call_scenarios.<locals>.modNr�rHr&r$r�r�s�������r&r�r)r�r�c��eZdZd�ZdS)r�c��ddd�|_dS)Nr+r,��warning1�warning2)r�rCs r$�__init__z8test_warn_len_equal_call_scenarios.<locals>.mod.__init__'s��34�34�(6�(6�D�$�$�$r&N)rErFrGr�rHr&r$r�z/test_warn_len_equal_call_scenarios.<locals>.mod&s#������	6�	6�	6�	6�	6r&r,)r�)r��mod_insts  r$�"test_warn_len_equal_call_scenariosr�s���
�
�
�
�
�
�
�
��s�u�u�H��h�'(�*�*�*�*�
6�6�6�6�6�6�6�6�
�s�u�u�H��h�'(�*�*�*�*�*�*r&c��tjt}	|j���n#t
$rYnwxYw|Sr)r�r�rEr��clearr���my_mods r$�_get_fresh_modr�0sT��
�[��
"�F�
��"�(�(�*�*�*�*���
�
�
�	
��
�����Ms�3�
A�Ac�z�t��}tt|di��i��t|g���5t	jd��t	jd��ddd��n#1swxYwYt|ji��t��5t	jd��t	jd��ddd��n#1swxYwYt|d��ddd�|_t|g���5t	jd��t	jd	��ddd��n#1swxYwYt|d��t��5t	jd��t	jd	��ddd��n#1swxYwYt|d��dS)
Nr�)r��ignore�Some warningrr+r,r�zAnother warning)	r�r�getattrrr�r�r�r�r�r�s r$�test_clear_and_catch_warningsr�<s���
�
�
�F����!6��;�;�R�@�@�@�	!�6�(�	3�	3�	3�&�&���h�'�'�'��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&���+�R�0�0�0�
"�	#�	#�&�&���h�'�'�'��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$�/0�./�"1�"1�F��
"�6�(�	3�	3�	3�)�)���h�'�'�'��
�'�(�(�(�)�)�)�)�)�)�)�)�)�)�)����)�)�)�)��&�!�$�$�$�
"�	#�	#�)�)���h�'�'�'��
�'�(�(�(�)�)�)�)�)�)�)�)�)�)�)����)�)�)�)��&�!�$�$�$�$�$sG�)A4�4A8�;A8�")C�C�C�
)E�E�	E�+)F � F$�'F$c�n�t��}tt|di��i��d�}t|d��t	��5}|�t��|�tj	j
���tjd��|��ddd��n#1swxYwYtt|j��d��t|jdjjdd��t|d��t	��}|�|���|5tjd��ddd��n#1swxYwYt|d��|�|���|5tjd��ddd��n#1swxYwYt|d��t	��5tjd��tjd��ddd��n#1swxYwYt|d��dS)Nr�c�:�d�}tj|ddg��dS)Nc�2�tjdd���|S)NzSome warning 2r,��
stacklevelr���arrs r$r�zFtest_suppress_warnings_module.<locals>.warn_other_module.<locals>.warnds���M�*�q�9�9�9�9��Jr&r�r.�apply_along_axis�r�s r$�warn_other_modulez8test_suppress_warnings_module.<locals>.warn_other_modulea�0��	�	�	�	��D�!�a�S�)�)�)�)�)r&r��moduler�r+r�)r�rr�r�r�recordr��filterr.�lib�
shape_baser�r�r��log�messager�r�)r�r��sups   r$�test_suppress_warnings_moduler�\s��
�
�
�F����!6��;�;�R�@�@�@�*�*�*��&�!�$�$�$�	�	�	����
�
�;����	�
�
�"�&�+�
�,�,�,��
�n�%�%�%������
��������������������S�W���q�!�!�!������#�(��+�^�<�<�<��&�!�$�$�$�
�
�
�C��J�J�f�J����	�&�&��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$��J�J�f�J����	�&�&��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$�
�	�	�&�&���h�'�'�'��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$�$�$sI�AB9�9B=�B=�E(�(E,�/E,�F<�<G�G�%)H�H�!Hc�X�t��}tt|di��i��t��5}|�t
��t
jd��ddd��n#1swxYwYt|d��t��}|�t
��|5t
jd��ddd��n#1swxYwYt|d��|�|���|5t
jd��ddd��n#1swxYwYt|d��t��5t
j	d��t
jd��ddd��n#1swxYwYt|d��dS)Nr�r�rr�r�)
r�rr�rr�r�r�r�r�r�)r�r�s  r$�test_suppress_warnings_typer��s���
�
�
�F����!6��;�;�R�@�@�@�
�	�	�&���
�
�;�����
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$�
�
�
�C��J�J�{����	�&�&��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$��J�J�f�J����	�&�&��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$�
�	�	�&�&���h�'�'�'��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��&�!�$�$�$�$�$sG�/A7�7A;�>A;�<C�C!�$C!�D1�1D5�8D5�)F�F�Fc�j�t��}|�t��|d���}tjd���5}tjd��|t��|t��tt|��d��ddd��dS#1swxYwYdS)Nc�0�tjd|��dS)Nr�r�)�categorys r$r�z7test_suppress_warnings_decorate_no_record.<locals>.warn�s���
�n�h�/�/�/�/�/r&T)r��alwaysr+)	rr�r�r�r�r��RuntimeWarningrr�)r�r��ws   r$�)test_suppress_warnings_decorate_no_recordr��s���
�
�
�C��J�J�{�����0�0�	�S�0�
�	 ��	-�	-�	-� ����h�'�'�'���[������^�����S��V�V�Q����	 � � � � � � � � � � � ���� � � � � � s�	AB(�(B,�/B,c� �t��}|���}|5|�d���}|�d���tjd��tjd��tjd��tt
|j��d��tt
|��d��tt
|��d��t|djj	dd��ddd��n#1swxYwY|5|�d���}|�d���tjd��tjd��tjd��tt
|j��d��tt
|��d��tt
|��d��t|djj	dd��ddd��n#1swxYwYt��5}|���t��5}|�d���tjd��tjd��tt
|j��d��ddd��n#1swxYwYtt
|j��d��ddd��dS#1swxYwYdS)NzSome other warning 2)r�r��Some other warningr,r+r)
rr�r�r�r�rr�r�r�r�)r��log1�log2�sup2s    r$�test_suppress_warnings_recordr��s���
�
�
�C��:�:�<�<�D�	�
F�
F��z�z�"8�z�9�9���
�
�>�
�*�*�*��
�n�%�%�%��
�*�+�+�+��
�,�-�-�-��S���\�\�1�%�%�%��S��Y�Y��"�"�"��S��Y�Y�q�!�!�!��T�!�W�_�)�!�,�.D�E�E�E�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F����
F�
F�
F�
F�

�
F�
F��z�z�"8�z�9�9���
�
�>�
�*�*�*��
�n�%�%�%��
�*�+�+�+��
�,�-�-�-��S���\�\�1�%�%�%��S��Y�Y��"�"�"��S��Y�Y��"�"�"��T�!�W�_�)�!�,�.D�E�E�E�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F����
F�
F�
F�
F�
�	�	�&���
�
����
�
 �
 �	+�D��K�K��K�/�/�/��M�.�)�)�)��M�.�/�/�/���T�X����*�*�*�		+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�
	�S���\�\�1�%�%�%�&�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�&�&s\�C+D�D �#D �)C+H � H$�'H$�9#L�A!K	�=L�	K
	�
L�K
	�%L�L�
Lc��d�}t��5}|���td��5td��D]}tjd���	ddd��n#1swxYwYtt
|j��d��ddd��n#1swxYwYt��5}|���td��5td��D]*}tjd��tjd���+	ddd��n#1swxYwYtt
|j��d��ddd��n#1swxYwYt��5}|���td��5td��D]4}tjd��tjd��|���5	ddd��n#1swxYwYtt
|j��d��ddd��n#1swxYwYt��5}|���td��5td��D]4}tjd��tjd��|���5	ddd��n#1swxYwYtt
|j��d��ddd��dS#1swxYwYdS)	Nc�:�d�}tj|ddg��dS)Nc�2�tjdd���|S)Nr�r,r�r�r�s r$r�zJtest_suppress_warnings_forwarding.<locals>.warn_other_module.<locals>.warn�s���M�.�Q�7�7�7�7��Jr&rr�r�s r$r�z<test_suppress_warnings_forwarding.<locals>.warn_other_module�r�r&r�r,r��locationr��oncer�)rr��ranger�r�rr�r�)r�r��is   r$�!test_suppress_warnings_forwardingr��s���*�*�*�
�	�	�&���
�
����
�x�
(�
(�	.�	.��1�X�X�
.�
.���
�n�-�-�-�-�
.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	�S���\�\�1�%�%�%�
&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�
�	�	�&���
�
����
�z�
*�
*�	.�	.��1�X�X�
.�
.���
�n�-�-�-��
�n�-�-�-�-�
.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
	�S���\�\�1�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�
�	�	�&���
�
����
�x�
(�
(�	$�	$��1�X�X�
$�
$���
�n�-�-�-��
�n�-�-�-�!�!�#�#�#�#�
$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	�S���\�\�1�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�
�	�	�&���
�
����
�v�
&�
&�	$�	$��1�X�X�
$�
$���
�n�-�-�-��
�2�3�3�3�!�!�#�#�#�#�
$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	�S���\�\�1�%�%�%�&�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�&�&s��$B#�'A*�B#�*A.	�.B#�1A.	�2%B#�#B'�*B'�<$E!� ;D(�E!�(D,	�,E!�/D,	�0%E!�!E%�(E%�:$H)�AG0�$H)�0G4	�4H)�7G4	�8%H)�)H-�0H-�$K2�&AJ8�,K2�8J<	�<K2�?J<	�%K2�2K6�9K6c�2�t��5}tj�|d��}t	|d��5	ddd��n#1swxYwYddd��n#1swxYwYttj�|����d}	t��5}t���#1swxYwYn#t$rd}YnwxYwt|��ttj�|����dS)N�tmpr�FT)r�os�path�join�openr�isdir�
ValueError)�tdir�fpath�raiseds   r$�test_tempdirr�s���	����d�����T�5�)�)��
�%��
�
�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	����������������������
�
�d�#�#�#�$�$�$�
�F��
�Y�Y�	�$��,�,��	�	�	�	����	�	�	�	�	���������������F�O�O�O����
�
�d�#�#�#�$�$�$�$�$se�1A%�A�A%�A	�A%�A	�A%�%A)�,A)� C	�.B=�=C�C	�C�C	�	C�Cc���t��5}t|d��5	ddd��n#1swxYwYddd��n#1swxYwYttj�|����d}	t��5}t
���#1swxYwYn#t$rd}YnwxYwt|��ttj�|����dS)Nr�FT)rr�rr�r��isfiler�)r�r�s  r$�
test_temppathr�s���	����u�
�%��
�
�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������������������������u�%�%�%�&�&�&�
�F��
�Z�Z�	�5��,�,��	�	�	�	����	�	�	�	�	���������������F�O�O�O������u�%�%�%�&�&�&�&�&s\�A�.�A�2	�A�2	�A�A	�A	�B)�B�B!�!B)�$B!�%B)�)B8�7B8c�*�eZdZejefZdS)�my_cacwN)rErFrGr�r��
class_modulesrHr&r$r�r�-s�������[��*�,�M�M�Mr&r�c���t��}t��5tjd��tjd��ddd��n#1swxYwYt|ji��dS)Nr�r�)r�r�r�r�r�rr�r�s r$�%test_clear_and_catch_warnings_inheritr�2s���
�
�
�F�	���&�&���h�'�'�'��
�n�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&���+�R�0�0�0�0�0s�)A�A�AzPython lacks refcountsc�H�eZdZdZd�Zd�Zejjd���Z	dS)�TestAssertNoGcCyclesz Test assert_no_gc_cycles c��d�}t��5|��ddd��n#1swxYwYt|��dS)Nc�4�g}|�g��|Sr��append)r#s r$�no_cyclez2TestAssertNoGcCycles.test_passes.<locals>.no_cycle?s���A�
�H�H�R�L�L�L��Hr&)r)r!r�s  r$�test_passesz TestAssertNoGcCycles.test_passes>s���	�	�	�
!�
"�
"�	�	��H�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�H�%�%�%�%�%s�)�-�-c�<�d�}tt��5t��5|��ddd��n#1swxYwYddd��n#1swxYwYtt��5t|��ddd��dS#1swxYwYdS)Nc�^�g}|�|��|�|��|Srr�)r"s r$�
make_cyclez5TestAssertNoGcCycles.test_asserts.<locals>.make_cycleJs*���A�
�H�H�Q�K�K�K�
�H�H�Q�K�K�K��Hr&)r
r(r)r!r�s  r$�test_assertsz!TestAssertNoGcCycles.test_assertsIsd��	�	�	��>�
*�
*�	�	�$�&�&�
�
��
����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��>�
*�
*�	,�	,��
�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,sC�A�>�A�A	�A�A	�A�A�A�4B�B�Bc�`��G�fd�d���	tj�����}	tt��5t	d���ddd��n#1swxYwYn/#t
$r"|���t
jd���YnwxYwd�_dS#d�_wxYw)z�
        Test that in cases where the garbage cannot be collected, we raise an
        error, instead of hanging forever trying to clear it.
        c�(��eZdZdZdZd�Z�fd�ZdS)�<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
            Tc��||_dSr)�cyclerCs r$r�zETestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__init__es
��!��
�
�
r&c�<��d|_�jr���dSdSr)rr�)r!�ReferenceCycleInDels �r$�__del__zDTestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__del__hs6���!��
�&�1�*�(�'�)�)�)�)�)�*�*r&N)rErFrG�__doc__r�r�r)rs�r$rr^sN�������
�
��J�
"�
"�
"�
*�
*�
*�
*�
*�
*�
*r&rc��dSrrHrHr&r$r
z1TestAssertNoGcCycles.test_fails.<locals>.<lambda>vs���r&Nz*GC does not call __del__ on cyclic objectsF)	�weakref�refr
r�rr(rs�skipr�)r!r�rs  @r$�
test_failszTestAssertNoGcCycles.test_failsWs7���	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�&	3���/�/�1�1�2�2�A�	
�"�<�0�0�6�6�'���5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6���"�
�
�
��1�3�3�?��K� L�M�M�M��#�?�
����.3��*�*�*��U��*�2�2�2�2sR�B$�A,�A �A,� A$�$A,�'A$�(A,�+B$�,)B�B$�B�B$�$	B-N)
rErFrGrr�r�rsr��slowrrHr&r$r�r�;sY������$�$�	&�	&�	&�,�,�,��[��(3�(3���(3�(3�(3r&r�)@r�r�r�r�rsr	�numpyr.�
numpy.testingrrrrrrr	r
rrr
rrrrrrrrrrr�numpy.core.overridesrrrJr�r�rrFrwr�r�rr�r�rr$rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rHr&r$�<module>rsS������
�
�
�
�	�	�	�	�����
�
�
�
���������������������������������������������������������8�7�7�7�7�7�+/�+/�+/�+/�+/�+/�+/�+/�\z2�z2�z2�z2�z2�\�z2�z2�z2�z*�*�*�*�*�*�*�*�Z\)�\)�\)�\)�\)��\)�\)�\)�~_ �_ �_ �_ �_ �<�_ �_ �_ �DT �T �T �T �T �l�T �T �T �n(M�(M�(M�(M�(M�(M�(M�(M�Vj$�j$�j$�j$�j$�j$�j$�j$�Z����?��@�@�I�I�I�I�I�I�I�A�@�I�D0H�0H�0H�0H�0H�0H�0H�0H�fV<�V<�V<�V<�V<�V<�V<�V<�rc*�c*�c*�c*�c*�c*�c*�c*�L5*�5*�5*�5*�5*�5*�5*�5*�pA�A�A�A�A�A�A�A�(*�*�*�.*�*�*�8	�	�	�%�%�%�@+%�+%�+%�\%�%�%�8 � � �%&�%&�%&�P,&�,&�,&�^%�%�%�"
'�
'�
'� -�-�-�-�-�&�-�-�-�
1�1�1������$�-E��F�F�D3�D3�D3�D3�D3�D3�D3�G�F�D3�D3�D3r&

Youez - 2016 - github.com/yon3zu
LinuXploit