
    8tf	                     R    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	y)    N)Decimal)TestCase)StringIOreload_modulec                   @    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)TestDecimal)z1.0z10.001.1z1234567890.1234567890500c                     t               }t        j                  ||fi | t        j                  |fi |}| j	                  ||j                                |S N)r   jsondumpdumpsassertEqualgetvalue)selfobjkwsioress        g/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/simplejson/tests/test_decimal.pyr   zTestDecimal.dumps
   sJ    j		#s!b!jj##clln-
    c                     t        |      }t        j                  |fi |}| j                  |t        j                  |fi |       |S r   )r   r   loadsr   load)r   sr   r   r   s        r   r   zTestDecimal.loads   sA    qkjj!b!dii2r23
r   c                     t        t        | j                        D ].  }| j                  | j	                  |d      t        |             0 y )NTuse_decimal)mapr   NUMSr   r   str)r   ds     r   test_decimal_encodezTestDecimal.test_decimal_encode   s?    Wdii( 	FATZZtZ<c!fE	Fr   c                     | j                   D ]2  }| j                  | j                  |t              t        |             4 y )Nparse_float)r!   r   r   r   )r   r   s     r   test_decimal_decodezTestDecimal.test_decimal_decode   s8     	MATZZwZ?L	Mr   c           	          t        t        | j                        D ]I  }||i}| j                  | j	                  | j                  |d      t              t        |      |i       K y )NTr   r&   )r    r   r!   r   r   r   r"   r   r#   vs      r   test_stringify_keyzTestDecimal.test_stringify_key   sb    Wdii( 	AAA

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

1$
7W  N	r   c                 d   t        d      }| j                  t        t        j                  |d       | j                  dt        j                  |             | j                  dt        j                  |d             | j                  t        t        j                  |t               d       t               }t        j                  ||       | j                  d|j                                t               }t        j                  ||d       | j                  d|j                                y )Nr	   Fr   T)	r   assertRaises	TypeErrorr   r   r   r   r   r   )r   r#   r   s      r   test_decimal_defaultsz!TestDecimal.test_decimal_defaults1   s    EN)TZZF

1.

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