U
    M»{j¿  ã                   @   s\   d dl Z 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                   @   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 )Ú	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   Z
assertTrue)ÚselfÚinfÚnan© r   úZ/var/www/html/bwave/python/venv/lib/python3.8/site-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   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   Z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ÃõðŠûØAéd   iœÿÿÿgÍÌÌÌÌÌ@)Ú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_intsc                 C   sN   zt jjt jjg}W n tk
r0   ddg}Y nX |  t t |¡¡|¡ d S )Ng       gÿÿÿÿÿÿï)	ÚsysÚ
float_infoÚminÚmaxÚAttributeErrorr   r   r   r   )r   Zfloat_ranger   r   r   Útest_float_range)   s
    zTestFloat.test_float_rangeN)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r!   r%   r+   r   r   r   r   r      s   r   )r&   r   Zunittestr   Zsimplejson.compatr   r   Z
simplejsonr   Zsimplejson.decoderr   r   r   r   r   r   r   r   Ú<module>   s   