a
    #RîhÂ  ã                   @   sÎ   d dl mZmZ d dlmZ d dlmZmZ dZdZ	dZ
dZG dd	„ d	eƒZd
ZdZde ZG dd„ deeƒZedƒZedƒZedƒZG dd„ deeƒZG dd„ dƒZG dd„ deeƒZG dd„ deeƒZdS )é    )ÚEnumÚIntEnum)Úisnan)ÚPyTestÚCTesté   l        l            l               @ c                   @   s   e Zd ZeZeZeZe	Z
dS )ÚBigNumN)Ú__name__Ú
__module__Ú__qualname__ÚSMALLÚsmallÚBIGÚbigÚHUGEÚhugeÚREALLY_HUGEÚreally_huge© r   r   ú@/opt/python-3.9.24/usr/lib/python3.9/test/test_json/test_enum.pyr   
   s   r   g–´â
¿@g½Â‚û!	@é   c                   @   s   e Zd ZeZeZeZdS )ÚFloatNumN)	r	   r
   r   ÚEÚeÚPIÚpiÚTAUÚtaur   r   r   r   r      s   r   Úinfz-infÚnanc                   @   s   e Zd ZeZeZeZdS )ÚWierdNumN)	r	   r
   r   ÚINFr   ÚNEG_INFÚneg_infÚNANr   r   r   r   r   r       s   r    c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestEnumc                 C   sT   t D ]J}|  |  |¡t|jƒ¡ |  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ qd S ©N)r   ÚassertEqualÚdumpsÚreprÚvalueÚfloatÚloads©ÚselfÚenumr   r   r   Útest_floats$   s    zTestEnum.test_floatsc              	   C   s”   t tdƒD ]„\}}|  |  |¡|¡ t|ƒs\|  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ q
|  tt|  |¡ƒƒ¡ |  t|  |  |¡¡ƒ¡ q
d S )N)ÚInfinityú	-InfinityÚNaN)Úzipr    r'   r(   r   r+   r,   Ú
assertTrue)r.   r/   Zexpectedr   r   r   Útest_weird_floats*   s    zTestEnum.test_weird_floatsc                 C   sT   t D ]J}|  |  |¡t|jƒ¡ |  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ qd S r&   )r   r'   r(   Ústrr*   Úintr,   r-   r   r   r   Ú	test_ints4   s    zTestEnum.test_intsc              	   C   sî   |   |  ttƒ¡tttttgƒ¡ |   |  	|  ttƒ¡¡ttƒ¡ |   |  tt
ƒ¡ttttgƒ¡ |   |  	|  tt
ƒ¡¡tt
ƒ¡ |   |  ttƒ¡d¡ |   |  	|  ttƒ¡¡d d… ttƒd d… ¡ |  t|  	|  ttƒ¡¡d ƒ¡ d S )Nz[Infinity, -Infinity, NaN]r   )r'   r(   Úlistr   r7   r   r   r   r   r,   r   r   r   r   r    r5   r   )r.   r   r   r   Ú	test_list:   s&    ÿÿÿÿÿÿzTestEnum.test_listc                 C   s  t \}}}}t\}}}t\}}	}
|d|d|d|d|d|d|d|d|	d	|
d
i
}|  |  |¡¡}|  |ttƒ d¡ |  |ttƒ d¡ |  |tt	ƒ d¡ |  |tt
ƒ d¡ |  |ttƒ d¡ |  |ttƒ d¡ |  |ttƒ d¡ |  |d d¡ |  |d	 d	¡ |  |d
 d
¡ d S )NÚtinyÚlargeÚlargerÚlargestzEuler's numberr   r   r1   r2   r3   )r   r   r    r,   r(   r'   r7   r   r   r   r   r)   r   r   r   )r.   ÚsÚbÚhÚrr   ÚpÚtÚiÚjÚnÚdÚndr   r   r   Útest_dict_keysI   s$    

ýzTestEnum.test_dict_keysc                 C   sæ   t tjtjtjtjtjtjtj	t
jt
jt
jd
}|  |  |¡¡}|  |d t¡ |  |d t¡ |  |d t¡ |  |d t¡ |  |d t¡ |  |d t¡ |  |d t¡ |  |d	 t¡ |  |d
 t¡ |  t|d ƒ¡ d S )N)
r<   r=   r>   r?   r   r   r   rF   rG   rH   r<   r=   r>   r?   r   r   r   rF   rG   rH   )Údictr   r   r   r   r   r   r   r   r   r    r   r#   r   r,   r(   r'   r   r   r   r   r   r   r   r!   r"   r5   r   )r.   rI   rJ   r   r   r   Útest_dict_values^   s.    özTestEnum.test_dict_valuesN)	r	   r
   r   r0   r6   r9   r;   rK   rM   r   r   r   r   r%   "   s   
r%   c                   @   s   e Zd ZdS )Ú
TestPyEnumN©r	   r
   r   r   r   r   r   rN   w   ó    rN   c                   @   s   e Zd ZdS )Ú	TestCEnumNrO   r   r   r   r   rQ   x   rP   rQ   N)r/   r   r   Úmathr   Ztest.test_jsonr   r   r   r   r   r   r   r   r   r   r+   r   r!   r"   r$   r    r%   rN   rQ   r   r   r   r   Ú<module>   s$   U