U
    4Je                     @   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   s\   t tfD ]$}| tjtj|dddd| qtjtjtdddd}| d| |k d S )NT	allow_nanr   )r   r   assertEqualjsonloadsdumpsr   
assertTrue)selfinfnan r   ?/tmp/pip-unpacked-wheel-52sb2ggr/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   sV   t ttfD ]}| jttj|dd q
dD ](}| jttj|dd | ttj| q(d S )NFr	   )Infinityz	-Infinityr   )r   r   r   assertRaises
ValueErrorr   r   r   )r   r   sr   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Ad   ig@)mathpir   floatr   r   r   r   r   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
   