o
    �O5[ð	  ã                   @   sL   d dl Z d dl ma d dlmZ d dlmZmZ d dlZG dd„ deƒZ	dS )é    N)ÚDecimal)ÚTestCase)ÚStringIOÚreload_modulec                   @   sP   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚTestDecimal)z1.0z10.00ú1.1z1234567890.1234567890Ú500c                 K   s@   t ƒ }tj||fi |¤Ž tj|fi |¤Ž}|  || ¡ ¡ |S ©N)r   ÚjsonÚdumpÚdumpsÚassertEqualÚgetvalue)ÚselfÚobjÚkwÚsioÚres© r   úO/var/www/html/env/lib/python3.10/site-packages/simplejson/tests/test_decimal.pyr   
   s
   zTestDecimal.dumpsc                 K   s8   t |ƒ}tj|fi |¤Ž}|  |tj|fi |¤Ž¡ |S r	   )r   r
   Úloadsr   Úload)r   Úsr   r   r   r   r   r   r      s   zTestDecimal.loadsc                 C   s0   t t| jƒD ]}|  | j|dd�t|ƒ¡ qd S )NT©Úuse_decimal)Úmapr   ÚNUMSr   r   Ústr)r   Údr   r   r   Útest_decimal_encode   s   ÿzTestDecimal.test_decimal_encodec                 C   s*   | j D ]}|  | j|td�t|ƒ¡ qd S )N©Úparse_float)r   r   r   r   )r   r   r   r   r   Útest_decimal_decode   s   
ÿzTestDecimal.test_decimal_decodec                 C   sF   t t| jƒD ]}||i}|  | j| j|dd�td�t|ƒ|i¡ qd S )NTr   r    )r   r   r   r   r   r   r   ©r   r   Úvr   r   r   Útest_stringify_key   s   ÿ
ýþzTestDecimal.test_stringify_keyc              	   C   sL   t t| jƒD ]}||gd|ifD ]}|  | j| j|dd�td�|¡ qqd S )NÚ Tr   r    )r   r   r   r   r   r   r#   r   r   r   Útest_decimal_roundtrip'   s   ÿýÿýz"TestDecimal.test_decimal_roundtripc                 C   s¨   t dƒ}| jttj|dd� |  dt |¡¡ |  dtj|dd�¡ | jttj|tƒ dd� tƒ }t ||¡ |  d| ¡ ¡ tƒ }tj||dd� |  d| ¡ ¡ d S )Nr   Fr   T)	r   ÚassertRaisesÚ	TypeErrorr
   r   r   r   r   r   )r   r   r   r   r   r   Útest_decimal_defaults1   s   ÿz!TestDecimal.test_decimal_defaultsc                 C   s&   t tƒjadd l}t|j_|  ¡  d S )Nr   )r   Údecimalr   Úsimplejson.encoderÚencoderr'   )r   Ú
simplejsonr   r   r   Útest_decimal_reload@   s   
zTestDecimal.test_decimal_reloadN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r"   r%   r'   r*   r/   r   r   r   r   r      s    
r   )
r+   r   Úunittestr   Úsimplejson.compatr   r   r.   r
   r   r   r   r   r   Ú<module>   s    