B
    18™\Â  ã               @   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   ú\/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/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   sX   xRt D ]J}|  |  |¡t|jƒ¡ |  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ qW d S )N)r   ÚassertEqualÚdumpsÚreprÚvalueÚfloatÚloads)ÚselfÚenumr   r   r   Útest_floats$   s    
zTestEnum.test_floatsc          	   C   s˜   x’t tdƒD ]„\}}|  |  |¡|¡ t|ƒs^|  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ q|  tt|  |¡ƒƒ¡ |  t|  |  |¡¡ƒ¡ qW d S )N)ÚInfinityz	-InfinityÚNaN)Úzipr    r&   r'   r   r*   r+   Ú
assertTrue)r,   r-   Úexpectedr   r   r   Útest_weird_floats*   s    zTestEnum.test_weird_floatsc             C   sX   xRt D ]J}|  |  |¡t|jƒ¡ |  t|  |¡ƒ|¡ |  |  |  |¡¡|¡ qW d S )N)r   r&   r'   Ústrr)   Úintr+   )r,   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   r5   r   r   r   r   r+   r   r   r   r   r    r2   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   r/   z	-Infinityr0   )r   r   r    r+   r'   r&   r5   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   rD   rE   rF   r:   r;   r<   r=   r   r   r   rD   rE   rF   )Ú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"   r2   r   )r,   rG   rH   r   r   r   Útest_dict_values^   s,    
zTestEnum.test_dict_valuesN)	r	   r
   r   r.   r4   r7   r9   rI   rK   r   r   r   r   r%   "   s   
r%   c               @   s   e Zd ZdS )Ú
TestPyEnumN)r	   r
   r   r   r   r   r   rL   w   s    rL   c               @   s   e Zd ZdS )Ú	TestCEnumN)r	   r
   r   r   r   r   r   rM   x   s    rM   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%   rL   rM   r   r   r   r   Ú<module>   s$   U