o
    ȷe	                     @   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   T/var/www/ideatree/venv/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    