o
    KXî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   úB/opt/python-3.10.19/usr/lib/python3.10/test/test_json/test_enum.pyr   
   s
    r   g–´â
¿@g½Â‚û!	@é   c                   @   ó   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      ó    r   Úinfz-infÚnanc                   @   r   )ÚWierdNumN)	r	   r
   r   ÚINFr    ÚNEG_INFÚneg_infÚNANr!   r   r   r   r   r"      r   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   óT   t D ]%}|  |  |¡t|jƒ¡ |  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ qd S ©N)r   ÚassertEqualÚdumpsÚreprÚvalueÚfloatÚloads©ÚselfÚenumr   r   r   Útest_floats$   ó
   ýzTestEnum.test_floatsc              	   C   s”   t tdƒD ]B\}}|  |  |¡|¡ t|ƒs.|  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ q|  tt|  |¡ƒƒ¡ |  t|  |  |¡¡ƒ¡ qd S )N)ÚInfinityú	-InfinityÚNaN)Úzipr"   r*   r+   r   r.   r/   Ú
assertTrue)r1   r2   Zexpectedr   r   r   Útest_weird_floats*   s   ùzTestEnum.test_weird_floatsc                 C   r(   r)   )r   r*   r+   Ústrr-   Úintr/   r0   r   r   r   Ú	test_ints4   r4   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   r;   r   r   r   r   r/   r   r   r   r   r"   r9   r   )r1   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   r5   r6   r7   )r   r   r"   r/   r+   r*   r;   r   r   r   r   r,   r   r   r   )r1   Ú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@   rA   rB   rC   r   r   r   rJ   rK   rL   r@   rA   rB   rC   r   r   r   rJ   rK   rL   )Ú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$   r9   r   )r1   rM   rN   r   r   r   Útest_dict_values^   s.   özTestEnum.test_dict_valuesN)	r	   r
   r   r3   r:   r=   r?   rO   rQ   r   r   r   r   r'   "   s    
r'   c                   @   ó   e Zd ZdS )Ú
TestPyEnumN©r	   r
   r   r   r   r   r   rS   w   ó    rS   c                   @   rR   )Ú	TestCEnumNrT   r   r   r   r   rV   x   rU   rV   N)r2   r   r   Úmathr   Ztest.test_jsonr   r   r   r   r   r   r   r   r   r   r.   r   r#   r$   r&   r"   r'   rS   rV   r   r   r   r   Ú<module>   s&    U