U
    O5[–  ã                   @   sT   d dl Z d dlmZ d dlmZmZ d dlZd dlm	Z	m
Z
mZ G dd„ deƒZdS )é    N)ÚTestCase)Ú	long_typeÚ	text_type)ÚNaNÚPosInfÚNegInfc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú	TestFloatc                 C   sL   t tfD ]}|  t t |¡¡|¡ qt t t¡¡}|  d| |k¡ d S )Nr   )r   r   ÚassertEqualÚjsonÚloadsÚdumpsr   Z
assertTrue)ÚselfÚinfÚnan© r   ú=/usr/lib/python3/dist-packages/simplejson/tests/test_float.pyÚtest_degenerates_allow   s    z TestFloat.test_degenerates_allowc              	   C   s0   t ttfD ] }|  t tj|dd¡d ¡ q
d S )NT)Z
ignore_nan)r   r   r   r	   r
   r   r   ©r   Úfr   r   r   Útest_degenerates_ignore   s    z!TestFloat.test_degenerates_ignorec                 C   s(   t ttfD ]}| jttj|dd q
d S )NF)Z	allow_nan)r   r   r   ZassertRaisesÚ
ValueErrorr
   r   r   r   r   r   Útest_degenerates_deny   s    zTestFloat.test_degenerates_denyc              	   C   sp   dt jt jd t jd dfD ]N}|  tt |¡ƒ|¡ |  t t |¡¡|¡ |  t tt |¡ƒ¡|¡ qd S )NgÃõðŠûØAéd   iœÿÿÿgÍÌÌÌÌÌ@)ÚmathZpir	   Úfloatr
   r   r   r   ©r   Znumr   r   r   Útest_floats   s     ÿzTestFloat.test_floatsc              	   C   sz   dt dƒddfD ]d}|  t |¡t|ƒ¡ |  tt |¡ƒ|¡ |  t t |¡¡|¡ |  t tt |¡ƒ¡|¡ qd S )Né   l        l            )r   r	   r
   r   ÚstrÚintr   r   r   r   r   r   Ú	test_ints   s
    zTestFloat.test_intsN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r    r   r   r   r   r      s
   r   )r   Zunittestr   Zsimplejson.compatr   r   Z
simplejsonr
   Zsimplejson.decoderr   r   r   r   r   r   r   r   Ú<module>   s
   