
    DUf	                     Z    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e          Z	dS )    N)Decimal)TestCase)StringIOreload_modulec                   B    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestDecimal)z1.0z10.001.1z1234567890.1234567890500c                     t                      }t          j        ||fi | t          j        |fi |}|                     ||                                           |S N)r   jsondumpdumpsassertEqualgetvalue)selfobjkwsioress        Z/var/www/html/software/conda/lib/python3.11/site-packages/simplejson/tests/test_decimal.pyr   zTestDecimal.dumps
   s_    jj	#s!!b!!!j####cllnn---
    c                     t          |          }t          j        |fi |}|                     |t          j        |fi |           |S r   )r   r   loadsr   load)r   sr   r   r   s        r   r   zTestDecimal.loads   sQ    qkkj!!b!!di22r22333
r   c                     t          t          | j                  D ]:}|                     |                     |d          t          |                     ;d S )NTuse_decimal)mapr   NUMSr   r   str)r   ds     r   test_decimal_encodezTestDecimal.test_decimal_encode   sZ    Wdi(( 	F 	FATZZtZ<<c!ffEEEE	F 	Fr   c                     | j         D ]?}|                     |                     |t                    t          |                     @d S )Nparse_float)r!   r   r   r   )r   r   s     r   test_decimal_decodezTestDecimal.test_decimal_decode   sP     	M 	MATZZwZ??LLLL	M 	Mr   c           	          t          t          | j                  D ]Z}||i}|                     |                     |                     |d          t                    t          |          |i           [d S )NTr   r&   )r    r   r!   r   r   r   r"   r   r#   vs      r   test_stringify_keyzTestDecimal.test_stringify_key   s    Wdi(( 	 	AAA

JJqdJ33  J JQ   	 	r   c           
          t          t          | j                  D ]R}||gd|ifD ]G}|                     |                     |                     |d          t                    |           HSd S )N Tr   r&   )r    r   r!   r   r   r   r*   s      r   test_decimal_roundtripz"TestDecimal.test_decimal_roundtrip'   s    Wdi(( 	 	A !r1g&    JJ

1$
77W  N N   	 	r   c                    t          d          }|                     t          t          j        |d           |                     dt          j        |                     |                     dt          j        |d                     |                     t          t          j        |t                      d           t                      }t          j        ||           |                     d|                                           t                      }t          j        ||d           |                     d|                                           d S )Nr	   Fr   T)	r   assertRaises	TypeErrorr   r   r   r   r   r   )r   r#   r   s      r   test_decimal_defaultsz!TestDecimal.test_decimal_defaults1   s   ENN)TZFFF
1...
1$ ? ? ?@@@)TY8::&+ 	 	- 	- 	-jj	!S///jj	!Sd++++/////r   c                     t          t                    j        add l}t          |j        _        |                                  d S )Nr   )r   decimalr   simplejson.encoderencoderr/   )r   
simplejsons     r   test_decimal_reloadzTestDecimal.test_decimal_reload@   sC      ((0!!!!%,
"##%%%%%r   N)__name__
__module____qualname__r!   r   r   r$   r(   r,   r/   r3   r9    r   r   r   r      s        @D    F F FM M M    0 0 0& & & & &r   r   )
r5   r   unittestr   simplejson.compatr   r   r8   r   r   r=   r   r   <module>r@      s                 5 5 5 5 5 5 5 5    ?& ?& ?& ?& ?&( ?& ?& ?& ?& ?&r   